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

本文旨在详细阐述如何在阿里云服务器上,通过宝塔面板部署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指令指向正确的证书路径(在服务器目录上的位置),其它基本可以照搬使用。

nginx 复制代码
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 的主文件内:

arduino 复制代码
include /home/nginx/https.conf;

测试与验证

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

注意事项

  • 阿里云的免费证书有效期是三个月,且不支持自动续签,所以每次证书过期后需要再次走一遍上述流程,替换一下原来的证书文件。
  • 如果之前用浏览器通过HTTP协议访问过该站点,配置 https 证书后,浏览器存在缓存,不会立即生效,强刷也没用,第二天再看就可以了,验证的话,使用无痕浏览,会即时生效。
  • 一般情况下,配置完成后,不需要重启 nginx,也能生效,如果无痕浏览发现还是 http 的,再重启 nginx 看下。
相关推荐
Yeats_Liao2 小时前
物联网接入层技术剖析(二):epoll到底是怎么工作的
java·linux·网络·物联网·信息与通信
还是鼠鼠2 小时前
AI掘金头条新闻系统 (Toutiao News)-相关推荐
后端·python·mysql·fastapi·web
AskHarries2 小时前
OpenClaw 是什么?为什么它不是普通 AI Agent
人工智能·后端·程序员
Donk_672 小时前
什么是虚拟化
linux·运维
Shadow(⊙o⊙)2 小时前
Shell进程替换,自定义Shell解释器——字符串库函数灵活操作!
linux·运维·服务器·开发语言·c++·学习
funnycoffee1232 小时前
华为S5736交换机3层ECMP负载方式
linux·服务器·数据库
Tsuki_tl2 小时前
【总结】Java的线程状态
java·后端·面试·多线程·并发编程·线程状态
xiaoxue..2 小时前
Node.js 笔试题讲解
后端·面试·node.js
wu@555552 小时前
使用acme生成免费https泛域名证书(通配符证书)
网络协议·http·https