准备记录下部署免费https的过程 ,使用Let’s Encrypt的免费证书下载自动安装脚本wget https://dl.eff.org/certbot-autochmod a+x certbot-auto
安装执行脚本./certbot-auto –nginx这里会下载一些东西,让后让你选择你需要加https的域名,这个域名是在nginx.conf中配置的server中读取到的。注意选择的域名只能是备案过的那个域名。因为这个脚本会到DNS服务器去查这个域名对应的ip服务器。对不上也是不会给颁发证书的。执行成功后,会让你选择是否把http的请求重定向到https。直接选择2就行到这里已经配置成功了,访问下网站就可以看效果了。点击那个锁还可以看到关于证书的详细信息总结其实这脚本就是相当于一键安装包,帮你申请https证书,然后下载到服务器存放,然后在把证书配置到nginx.conf里边。打开nginx.conf就能看到新增的配置信息。 listen 443 ssl http2; # managed by Certbot ssl_certificate /etc/letsencrypt/live/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/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 # Redirect non-https traffic to https if ($scheme != “https”) { return 301 https://$host$request_uri; #该状态代码301告诉浏览器(和搜索引擎)这是永久重定向。这使浏览器记住重定向,以便下次访问时,浏览器将在内部进行重定向 }# managed by Certbot}附由于Let’s Encrypt这个证书90天后就过期了,可以使用cron做一个定时任务,因为我这个证书是18号申请的,所以每个月的19号就执行一次,执行crontab -e后会进入个文件输入0 0 19 * * ./path/to/certbot-auto renewcrontab -e的五个参数分别代表,分钟、小时、天、月、周。参考https://certbot.eff.org/lets-encrypt/centos6-nginxhttps://bjornjohansen.no/redirect-to-https-with-nginxhttp://nginx.org/en/docs/http/ngx_http_core_module.html