为阿里云服务器WEB服务部署HTTPS协议

目录

随着人们对网络安全的重视,越来越多的网站启用HTTPS协议,并采用HTTP严格传输安全协议(HSTS)强制用户使用HTTPS协议访问网站。尽管HTTPS协议加密解密需要占用CPU资源,但带来的安全收益远远大于资源的消耗。所以,我也为自己开发一个为单位服务的外网网站部署HTTPS协议。

网站托管于阿里云服务器上,并且绑定备案的域名。阿里云提供证书服务(AliCloud Certificates Service),可以免费在云上签发Symantec证书,并提供一键部署云虚拟机的功能,大大简化证书部署。

在证书服务页面购买证书后,需要在控制台证书界面补全证书的信息,包括域名、申请人信息等。证书界面还提供详细的安装说明,包括如何在Nginx等服务器上启动HTTPS协议。
我的网站使用 Gunicorn 运行 Python Web 服务,用 Nginx 实现端口转发。配置方法与控制台给出的说明类似。为实现HTTP自动转发到HTTPS,需要作出一定的修改,使用如下配置:

server {
    listen      80;
    server_name servername.com;
    return 301 https://www.servername.com$request_uri;
}
server {
    listen 443;
    ssl on;
    # 省略
}

当用户访问HTTP网页时,会自动跳转到HTTPS网页,增强网页的安全性。

后续将尝试部署HSTS,提高首次访问的安全性。

参考

HSTS

HTTP Strict Transport Security Cheat Sheet