在被http劫持的广告坑过以后,就想着之后要弄网站就搞https的。大过年闲着没事,买了云服务器,把本身的域名从新解析绑定了一遍,最后升级成了https
阿里云
服务器ESC购买时间:2018-02-19
系统和版本:CentOS 7.x
web服务器:nginx(根据我的需求而定)html
好久没用过,发现ESC多了个安全组规则的东西。各端口须要配置对应的受权规则才能访问,总体安全性更高了。nginx
当前网站选择最简单的DV证书便可,花了一点时间查资料后,选择申请Let`s Encrypt免费SSL证书。git
Let’s Encrypt is a free, automated, and open Certificate Authority.
配置完成后能正常访问http环境便可
# 安装nginx yum install nginx -y # 启动 systemctl start nginx
默认会有提示,或者在云服务器ESC中二级菜单下,找到安全组
,而后配置规则
→ 添加安全组规则
,http和https规则配置如图github
可直接使用 Certbot 工具生成和配置SSL证书:web
# 安装git yum install git -y # 下载工具到本地 git clone https://github.com/certbot/certbot.git cd certbot/ # 这里是配置nginx服务,请根据状况运行对应命令,具体请阅读Certbot文档 ./certbot-auto --nginx
根据提示输入对应命令,如邮箱、选择是否继续、须要认证的域名(空格隔开)等,邮箱须要点击认证。部分命令配置用于生成本地nginx.conf
配置,显示以下:安全
即配置安全组规则策略
图片中的443端口须要开启服务器
nginx.conf
文件将被Certbot
工具自动配置
完成,配置完成代码以下工具
server { server_name lxlazy.com; # managed by Certbot root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } listen [::]:443 ssl ipv6only=on; # managed by Certbot listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/lxlazy.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/lxlazy.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { if ($host = lxlazy.com) { return 301 https://$host$request_uri; } # managed by Certbot listen 80 ; listen [::]:80 ; server_name lxlazy.com; return 404; # managed by Certbot }
将默认的server配置注释掉
后,重启nginx,测试效果测试
systemctl restart nginx
重启可能遇到如下问题 invalid PID number "" in "/var/run/nginx.pid"
,或nginx -c still could not bind
网站
# 先查看配置,再看端口,解除端口占用后重启nginx,通常均可以解决问题 # 配置 nginx -t # 端口 netstat -ntlp
实在不行重启主机吧……