使用的宝塔面板简化了部分操作。
1.获得SSL证书
云服务供应商一般都提供了免费证书申请,有效期一年。详情查看各个云服务商的SSL证书申请页面。
2.部署
将获得的证书下载至本地(一般是zip压缩文件),包含*.crt
、*.key
、*.pem
和*.csr
文件。在宝塔面板中找到SSL
标签,点选其他证书
。将密钥(KEY)和证书(PEM)粘贴进去即可。
备注:
手动部署(以Nginx为例),需要将crt
和key
文件放置到*/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引用都会失效,导致原本正常的网页样式变得奇怪。使用//...
的方式,让浏览器根据当前页面的协议来自动补全,就可避免。