实验室域名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;

Comments