很早之前就看到了耗子叔的这篇文章《如何免费的让网站启用HTTPS》,今天参考后把站点升级到了HTTPS, 基于以下两个原因,还是决定做一个笔记:
原因一:耗子的文章操作系统是Ubuntu 14.04, 这里是CentOS7;
原因二:按照网页 https://certbot.eff.org上CentOS7的安装教程执行,遇到了一些问题。
支持HTTPS免费解决方案Let’s Encrypt请查看耗子的文章,说的很清楚了,这里只是记录了CentOS7下的安装流程。
安装流程共9步:
0、安装更新依赖库urllib3
# 不执行可能提示You are using pip version 9.0.1, however version 18.0 is available pip install --upgrade pip # 不执行可能提示 python-urllib3.noarch 0:1.10.2-5.el7 pip install --upgrade --force-reinstall 'requests==2.6.0' urllib3
1、安装Certbot
sudo yum install python2-certbot-nginx
2、增加Nginx路径软连接(如果你的Nginx安装路径是/usr/bin/nginx则跳过这一步)
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx ln -s /usr/local/nginx/conf/ /etc/nginx
3、运行自动配置命令
# 如果提示The error was: NoInstallationError()请检查上面一步 sudo certbot —nginx
certbot会自动检查到你的nginx.conf下的配置,把你所有的虚拟站点都列出来,然后让你选择需要开启HTTPS的站点。你就简单的输入列表编号(用空格分开),如果不输入直接回车就是选择全部站点。还会让你选择是否要将HTTP的请求301到HTTPS上,选择2重定向就好了。
然后,certbot就帮你下载证书并更新到nginx.conf中。
查看nginx.conf变动的内容如下
# server块中listen 80;被替换成下面的指令 listen 443 ssl; ssl_certificate /etc/letsencrypt/live/niliu.me/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/niliu.me/privkey.pem; # managed by Certbot # 新增了一个server块 server { if ($host = niliu.me) { return 301 https://$host$request_uri; } # managed by Certbot listen 80; server_name niliu.me; return 404; # managed by Certbot }
4、听取耗子的建议,配置成HTTP2
# listen 443 ssl; listen 443 ssl http2;
5、把防止未绑定域名解析的配置也同步变更, 80换成443
server { #listen 80 default_server; listen 443 default_server; server_name _; return 444; }
6、重启Nginx
systemctl reload nginx
7、测试验证
记录下我的问题:浏览器访问https://niliu.me提示网站无法访问,
telnet 443端口是通的,服务器上curl ‘https://niliu.me’是能获取到首页内容到,发现防火墙还需要开启443端口
systemctl start firewalld.service firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --reload
8、更新证书(证书几个月后会过期,定期每月更新一次)
crontab -e # 增加更新任务 0 0 1 * * /usr/bin/certbot renew --force-renewal 5 0 1 * * /usr/bin/systemctl reload nginx
9、把站点中的js/css资源协议换成https
图片好像不用换,浏览器不会报错
操作起来还是很简单的,HTTPS毕竟更加安全,自己的东西花点心血也值得。
(全文完)
written on the parchment was scratched out
Since the admin of this web site is working, no question very shortly it
will be renowned, due to its quality contents.