Let’s Encrypt免费SSL证书已担当 到了包罗 FireFox、Chrome在内的浩繁 主流欣赏 器的兼容和支持,如今 国内的应用重要 是提如今 各大电商网站和流派 网站上 ,可以进步 访问和买卖 业务 安全性。很多 外贸公司网站也利用 是由于 google已经明白 表现 有提供SSL证书将会是一个加分因素。那么对于我们广大站长来说,大概 将来 某一天你的网站就必要 添加这么一个SSL证书 。
给网站添加SSL证书的方式有很多 ,老魏以后会分别写教程。本日 魏艾斯博客(www.vpsss.net)说一下Let’s Encrypt官方保举 Certbot工具快速摆设 SSL证书。
安装环境 :CentOS6 军哥lnmp1.3
一 、安装Let’s Encrypt之前要预备 的
把CentOS体系 安装好 ,lnmp环境 设置 好并添加域名和假造 主机完毕 。
以下两个步调 根据你本身 的体系 环境 操纵 ,根据老魏实测的结果 假如 是CentOS6/7务必提前安装epel源,否则背面 天生 证书时大概 会报错。
CentOS 5升级python版本 ,点我查察 python版本从2.4升级到2.7的操纵 流程。
CentOS 6/7安装epel,点我查察 centos安装epel源的操纵 流程 。
二、Certbot选择摆设 版本
根据你的实际 环境 来针对性的选择体系 和发行版本,然后会跳转到automated安装领导 。
三、CentOS6中利用 Certbot摆设 SSL证书
1 、老魏选择了CentOS6体系 和lnmp环境 ,输入以下下令 开始主动 安装:
cd /root/ wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto ./certbot-auto
图示如下
“Installing Python packages”这个过程必要 稍等几分钟,中心 有碰到 Is this OK时间 输入y,回车即可。
这里下载python源默认是在国外了 ,假如 你用国外VPS天然 是没题目 ,而老魏测试VPS是国内的必要 耐烦 等待 一下,假如 你利用 国内VPS卡在Installing Python packages…这个地方长时间不动,可以实行 下面下令 来修改pip源为国内的:
mkdir ~/.pip
cat ~/.pip/pip.conf EOF
[global]
index-url = https://pypi.doubanio.com/simple/
[install]
trusted-host=pypi.doubanio.com
EOF
实行 完 ,再重新运行certbot的下令 应该正常安装python的包了 。
2、天生 域名SSL证书
admin@域名代表你域名对应的邮箱,只管 填写国外邮箱,国内的不知道好不好 用。
A – 单域名
./certbot-auto certonly –email admin@域名.com –agree-tos –webroot -w /home/wwwroot/网站文件夹 -d www.域名.com
B – 多域名单目次 天生 单证书:(即一个网站多个域名利用 同一个证书)
./certbot-auto certonly –email admin@域名.com –agree-tos –webroot -w /home/wwwroot/www.域名.com -d www.域名.com -d www.域名.com
C – 多域名多目次 天生 多个证书:(即一次天生 多个域名的多个证书)
./certbot-auto certonly –email admin@域名.com –agree-tos –webroot -w /home/wwwroot/网站文件夹1 -d 域名1.com -d www.域名1.com -w /home/wwwroot/域名2 -d 域名2.com -d www.域名2.com
如今 会弹出窗口 ,大概意思是把你的邮箱提交给一个Let’s Encrypt的相助 搭档 ,老魏这里选择的n,你随意吧。
下面是这里大概 碰到 的两个错误(老魏全碰上了)息争 决办法:
假如 出现了下面红字的错误是由于 没有提前安装EPEL源 。
假如 出现提示:访问https://域名/.well-known/acme-challenge/**** 这个链接返回403错误(截图不完备 了) ,以是 必须要将对应假造 主机设置 文件里的
location ~ /\.
{
deny all;
}
这段设置 删掉或解释 掉或在这段设置 前面加上
location ~ /.well-known {
allow all;
}
末了 出现以下提示阐明 安装证书乐成 了。
2、天生 的证书被放到/etc/letsencrypt/live/你的域名/目次 中,这个是根据本身 网址目次 来的。进入内里 可以看到有cert.pem 、chain.pem 、 fullchain.pem 、privkey.pem四个文件。
3 、知道证书的安装路径之后,就涉及到在网站Nginx设置 文件大概 APACHE文件中添加路径了 。
Nginx的假造 主机设置 文件在:/usr/local/nginx/conf/vhost/域名.conf
下令 :vi /usr/local/nginx/conf/vhost/域名.conf
输入a进入编辑状态 ,然后把下面已经设置 好的代码(老魏实测没题目 )复制粘贴到你那边 ,留意 把下面全部 的 域名.com 换成你的域名,证书路径也换成你本身 的。结果 就是主域名和www域名都主动 301跳转到https://www域名 ,你可以根据本身 的环境 调解 末了 跳转到https://主域名还是 www域名。
server { listen 80; #listen [::]:80; server_name www.域名.com 域名.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; ssl_certificate /etc/letsencrypt/live/www.域名.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.域名.com/privkey.pem; ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5"; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months) add_header Strict-Transport-Security max-age=15768000; # OCSP Stapling --- # fetch OCSP records from URL in ssl_certificate and cache them ssl_stapling on; ssl_stapling_verify on; index index.html index.htm index.php default.html default.htm default.php; server_name www.域名.com 域名.com; root /home/wwwroot/www.域名.com; include wordpress.conf; #error_page 404 /404.html; include enable-php.conf; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location /wp-content/uploads/ { location ~ .*\.(php)?$ { deny all; } } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } access_log off; }
然后按ESC退出编辑状态,输入:wq生存 。
4、重启nginx使以上操纵 见效 ,下令 如下:
/etc/init.d/nginx reload
5、用欣赏 器打开主域名大概 带www的域名,都会主动 301跳转到如下图的结果 ,也就是域名前面出现了小绿锁,点击绿锁会出现Let’s Encrypt验证的证书信息,阐明 添加乐成 了。
提示:1 、截图网页中表现 的it’s ok是老魏本身 建了一个index.html扔进假造 主机目次 里的 ,假如 是新建网站没有任何内容,就会表现 “403 Forbidden ”,不外 不影响主域名和www域名主动 301重定向到https域名。
2、这里仅限于新装wordpress博客的环境 ,至于已经在运行的wordpress博客,限于本文篇幅过长,老魏留着背面 再增补 。
6、这个网站https://www.ssllabs.com/ssltest/可以测试SSL证书是否正常工作 ,我这个测试结果 是A+,很美满 的结果 !
如今 Let’s Encrypt免费SSL证书默认是90天有效 期,可以提前用下面下令 手动续约90天:
./certbot-auto renew –dry-run
怕忘记续约逾期 了可以用crontab定时实行 下令 到期主动 续约 ,如许 就可以放心了。
为了写这篇文章,老魏实测了3天才搞定整个流程。开始我用的国内VPS在测试,每次总是卡在Installing Python这里,由于 默认的Python源是国外的 ,下载速率 着实 太慢了 。厥后 又换了国外VPS又出现各种错误提示,末了 又回到了国内VPS。而网上的教程很多 都是复制粘贴的,并没有颠末 本身 的实际 测试 ,很轻易 误导你。总之从安装过程来看这个Cerbot工具并不像官方说的那么快捷,一个不警惕 就会报错,各人 安装的时间 务必按照老魏上面的流程去做 ,我这里是没题目 的 。
转载请注明:魏艾斯博客» Let’s Encrypt官方保举 Certbot工具快速摆设 SSL证书