实验室域名HTTPS配置完成笔记
2017-06-17(六)
by chenjia.me
为什么需要HTTPS
Chrome 5x的某个版本开始,不上https的网站前面会给你的感叹号,如果网页中有带有Passwoerd的form表单,就会给个不安全的提示。作为强迫症,就想去除掉这些。
部署HTTPS
首先,现在免费的证书中,Let's Encrypt是大多数人采用的。
我采用了acme.sh
提供的自签发脚本,在服务器上安装脚本后运行,首先修改我们原来Nginx
的多站点配置,将多站点的配置文件停用,使用一个签发配置,让所有指向本机的域名全部解析到一个目录,方便我们签发证书,然后`sudo service Nginx reload'。
使用脚本acme.sh,使用多站点签发方式
acme.sh --issue -d wenha0.com -w /var/www/html/ -d www.wenha0.com
签发完成后,我们将签发的证书复制到/etc/nginx/ssl/
中,然后禁用签发ssl的多站点配置文件,新建一个多站点配置文件来监听443端口并启用ssl,其中启动ssl的配置脚本为:
ssl on;
ssl_certificate /etc/nginx/ssl/wenha0.com.cer;
ssl_certificate_key /etc/nginx/ssl/wenha0.com.key;
修改成功后,应该使用sudo service nginx force-reload
来启用https,这时候你打开网址,使用HTTPS访问就能成功了。
哪些服务启用了HTTPS
除了资源下载的服务,其他所有服务都启用了HTTPS。 除了首页允许HTTP访问,其他所有有HTTPS的服务都添加了HTTP强制跳转HTTPS服务。
该条NGINX规则为:
rewrite ^(.*) https://$server_name$1 permanent;