Let's Encrypt是很火的一个免费SSL证书发行项目,自动化发行证书,证书有90天的有效期。适合个人使用或者临时使用,不用再忍受自签发证书不受浏览器信赖的提示。去年期权记曾经记录过Let's Encrypt的使用教程,但是Let's Encrypt已经发布了新的工具certbot,虽然是新工具,但是生成证书的使用方法和参数是基本一致的,证书续期更简单了。但是目前看certbot在一些老版本的Linux发行版上的兼容性还是有问题的,特别是在CentOS 5上,因为python版本过低是无法使用的,CentOS 6上需要先安装epel才行。
安装方法:
如果是CentOS 6、7,先执行:
yum install epel-release cd /root wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
./certbot-auto -n只是用来安装依赖包的,也可以跳过直接到下面的生成证书的步骤,国内VPS或服务器上使用的话建议先修改为国内的pip源。
单域名生成证书:
./certbot-auto certonly --email admin@qiquanji.com --agree-tos --webroot -w /home/wwwroot/www.qiquanji.com -d www.qiquanji.com
多域名单目录生成单证书:(一个网站多个域名使用同一个证书)
./certbot-auto certonly --email admin@qiquanji.com --agree-tos --webroot -w /home/wwwroot/www.qiquanji.com -d www.qiquanji.com -d qiquanji.com
多域名多目录生成多个证书:(一次生成多个域名的多个证书)
./certbot-auto certonly --email admin@qiquanji.com --agree-tos --webroot -w /home/wwwroot/www.qiquanji.com -d www.qiquanji.com -d qiquanji.com -w /home/wwwroot/www.caibaoz.com -d www.caibaoz.com -d caibaoz.com
提示
就是生成成功。
生成的证书会存在 /etc/letsencrypt/live/www.qiquanji.com/ 目录下
具体Nginx配置可以参考:免费SSL安全证书Let's Encrypt安装使用及Nginx配置
修改完配置文件切记重启或reload nginx
证书续期
crontab 里加上如下规则:
0 3 */30 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
这样每30天就会执行一次所有域名的续期操作。当然时间也可以自行进行调整,建议别太频繁,因为他们都有请求次数的限制,如果需要强制更新可以在前面命令上加上 --force-renew 参数。
注意事项:
1、因为默认LNMP的虚拟主机里是禁止 . 开头的隐藏文件及目录的,所以访问 https://www.qiquanji.com/.well-known/acme-challenge/** 这个链接会返回403错误,所以必须要将对应虚拟主机配置文件里的:
location ~ /\. { deny all; }
这段配置删掉或注释掉或在这段配置前面加上
location ~ /.well-known { allow all; }
然后重启nginx。
2、如果要启用http2的话,建议编辑lnmp.conf,将里面的Nginx_Modules_Options的单引号里加上 --with-openssl=/root/openssl-1.0.2h
并执行:
cd /root && wget -c https://www.openssl.org/source/openssl-1.0.2h.tar.gz && tar zxf openssl-1.0.2h.tar.gz
然后使用升级脚本 ./upgrade.sh nginx 升级nginx至1.9.5或更高版本。
3、国内有些用户反映会卡在Installing Python packages...这个地方不动,因为pip的默认源是国外的,国内可能会有点慢,可以执行下面命令来修改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的包了。
本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com/post/5271.html,我们将及时处理。
微信扫码关注
更新实时通知