使用的宝塔面板简化了部分操作。

1.获得SSL证书
云服务供应商一般都提供了免费证书申请,有效期一年。详情查看各个云服务商的SSL证书申请页面。
2.部署
将获得的证书下载至本地(一般是zip压缩文件),包含*.crt*.key*.pem*.csr文件。在宝塔面板中找到SSL标签,点选其他证书。将密钥(KEY)和证书(PEM)粘贴进去即可。

备注:
手动部署(以Nginx为例),需要将crtkey文件放置到*/nginx/conf目录下,另外在nginx.conf中添加SSL监听的配置代码。

# 抄自腾讯云
server {
        #SSL 访问端口号为 443
        listen 443 ssl; 
        #填写绑定证书的域名
        server_name cloud.tencent.com; 
        #证书文件名称
        ssl_certificate 1_cloud.tencent.com_bundle.crt; 
        #私钥文件名称
        ssl_certificate_key 2_cloud.tencent.com.key; 
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
        location / {
           #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
           #例如,您的网站运行目录在/etc/www下,则填写/etc/www。
            root html; 
            index  index.html index.htm;
        }
    }

随后还需验证配置文件是否正确:./sbin/nginx -t,并重新启动Nginx:systemctl restart nginx

3.防火墙(安全组)设定
开启443端口,这个没什么好说的。

4.HTTP重定向为HTTPS
参考:HTTP 自动跳转 HTTPS 的安全配置(可选)

5.常见问题
5.1 HTTPS访问丢失CSS
可能是原引用路径为http://...,可以直接写成//...
这是由于新一点的浏览器都阻止在HTTPS页面上加载HTTP资源,所以原先写定了http://就无法加载,CSS和JS引用都会失效,导致原本正常的网页样式变得奇怪。使用//...的方式,让浏览器根据当前页面的协议来自动补全,就可避免。