阿里云宝塔面板部署https证书

0 阅读3分钟

本文旨在详细阐述如何在阿里云服务器上,通过宝塔面板部署SSL证书。整个过程大致可以分为三个主要步骤:

  1. 购买证书
  2. 申请证书
  3. 部署证书

SSL 证书购买

登录阿里云数字证书管理服务控制台,选择申请个人测试证书

进入到购买页面,选择个人测试证书(免费版)

点击立即购买,即拥有了 20 张免费证书额度, 限期一年内使用,每张证书供一个域名使用,有效期 90 天

申请证书

购买完成证书后进入 SSL 证书管理列表,查看个人测试证书(原免费证书), 选择申请证书。

填写绑定域名,其他都不需要改,然后等待审核即可。

等待平台签发,大概一分钟就收到了阿里云 SSL 证书签发成功短信

回到 SSL 证书列表,看到签发成功,然后下载证书。

部署证书

证书下载

鉴于本例中使用了宝塔面板配合Nginx作为Web服务器,因此应选择适用于Nginx环境的证书格式进行下载。下载完成后,解压缩文件包,会得到两个重要文件:.key私钥文件和.pem公钥文件。

部署到服务器目录下

  • 在服务器上的/home目录下创建一个名为nginx的新文件夹,专门用来存放相关证书文件及其HTTPS配置。

修改 https.conf

修改https.conf配置文件,根据实际情况调整ssl_certificatessl_certificate_key指令指向正确的证书路径(在服务器目录上的位置),其它基本可以照搬使用。

server {
     listen 443 ssl; 
     server_name caringui.cn; 
     ssl_certificate /home/nginx/caringui.cn.pem; 
     ssl_certificate_key /home/nginx/caringui.cn.key; 
     ssl_session_timeout 5m;
     ssl_protocols TLSv1.2 TLSv1.3; 
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
     ssl_prefer_server_ciphers on;
    
    # 前端代理
    location / {
      alias /project/frontend/caring-ui-docs/dist/;
     }
     
     # 后端代理
     location /api/ {
        proxy_pass http://127.0.0.1:7532/;
    }
    
 }
# 将 HTTP 80 端口的流量强制重定向到 HTTPS。
server {
    listen 80;
    server_name caringui.cn; 
    return 301 https://$host$request_uri; 
}

nginx.conf 引入 https.conf

因为单独创建了一个https.conf用来维护 https 的服务,所以还需要将这个配置文件引入到 nginx 的主文件内:

include /home/nginx/https.conf;

测试与验证

在无痕浏览器模式下重新访问网站地址,检查是否已成功启用HTTPS加密连接。请注意,对于已经缓存旧有HTTP链接的客户端,可能需要等待一段时间或者清除本地缓存才能看到更新效果。

注意事项

  • 阿里云的免费证书有效期是三个月,且不支持自动续签,所以每次证书过期后需要再次走一遍上述流程,替换一下原来的证书文件。
  • 如果之前用浏览器通过HTTP协议访问过该站点,配置 https 证书后,浏览器存在缓存,不会立即生效,强刷也没用,第二天再看就可以了,验证的话,使用无痕浏览,会即时生效。
  • 一般情况下,配置完成后,不需要重启 nginx,也能生效,如果无痕浏览发现还是 http 的,再重启 nginx 看下。