云虚拟主机怎么部署HTTPS?

HCRM技术_小炮 云主机 2026-05-01 2 0

在云虚拟主机(尤其是共享型虚拟主机,如阿里云虚拟主机、腾讯云虚拟主机等,以及云服务器搭建的站点)上部署 HTTPS,主要分为两种情况,以下分别给出具体的操作步骤。

情况一:使用云服务商提供的“管理面板型”虚拟主机(无服务器 SSH 权限)

这类主机通常通过 cPanel、宝塔面板(云版)、或云厂商的自研管理面板(如阿里云虚拟主机管理控制台)来操作,部署 HTTPS 最简便的方法是使用面板自带的免费证书

步骤:

1、登录虚拟主机管理控制台

- 进入云服务商的控制台,找到该虚拟主机的管理页面。

2、找到 SSL/TLS 设置入口

- 通常位于“安全”“域名管理”“HTTPS 设置” 栏目下。

- 例如阿里云虚拟主机:控制台 → 主机管理 → 域名管理 → 开启 HTTPS。

- 例如腾讯云虚拟主机:控制台 → 主机管理 → 管理面板 → 网站安全设置。

3、申请或上传 SSL 证书

免费证书(推荐):许多面板内置了“自动申请免费 SSL 证书”(如 Let’s Encrypt 或云厂商自己的免费证书),点击“申请”或“一键开启”即可,系统会自动验证域名并部署。

已购买的付费证书:上传证书文件(通常包含.key 私钥文件和.crt.pem 证书文件),将两者的内容分别粘贴到对应输入框。

手动生成 CSR(极少数面板需要):按提示生成证书请求,然后去 CA 机构申请证书,再上传。

4、强制 HTTP 跳转 HTTPS

- 在 SSL 设置页面勾选“强制 HTTPS”“HTTP 自动跳转到 HTTPS”

- 如果不勾选,网站仍可通过 HTTP 访问。

5、等待生效

- 通常修改后立即生效,或等待 1-5 分钟,刷新网站,地址栏应显示绿色小锁。

情况二:使用云服务器(如 ECS、轻量应用服务器)自建的虚拟主机(有 SSH 权限)

你拥有服务器的 root 权限,需要手动配置 Web 服务器(Nginx / Apache),以下以Nginx 为例,最主流的做法。

步骤:

1、获取 SSL 证书

免费方案(推荐):使用 Certbot(Let’s Encrypt 的客户端)自动申请并配置。

付费证书:去 CA 机构购买,下载后得到xxx.crtxxx.key 两个文件。

2、上传证书到服务器

   # 创建证书存放目录(/etc/nginx/ssl/yourdomain.com/)
   sudo mkdir -p /etc/nginx/ssl/yourdomain.com
   # 上传证书文件(可以使用 scp 或 ftp)
   scp /local/path/yourdomain.crt root@你的服务器IP:/etc/nginx/ssl/yourdomain.com/
   scp /local/path/yourdomain.key root@你的服务器IP:/etc/nginx/ssl/yourdomain.com/

3、修改 Nginx 配置文件

编辑站点配置文件(通常在/etc/nginx/sites-available/default/etc/nginx/conf.d/yourdomain.conf),添加 HTTPS 监听:

   server {
       listen 443 ssl http2;
       server_name yourdomain.com www.yourdomain.com;
       ssl_certificate /etc/nginx/ssl/yourdomain.com/yourdomain.crt;
       ssl_certificate_key /etc/nginx/ssl/yourdomain.com/yourdomain.key;
       # 其他配置(如 root、index、location 等)
       root /var/www/html;
       index index.php index.html;
       # ... 你的网站配置
   }
   # 强制 HTTP 跳转 HTTPS
   server {
       listen 80;
       server_name yourdomain.com www.yourdomain.com;
       return 301 https://$host$request_uri;
   }

4、测试并重载 Nginx

   sudo nginx -t                  # 检查语法
   sudo systemctl reload nginx    # 重新加载配置

5、验证

- 访问https://yourdomain.com,应正常显示。

- 访问http://yourdomain.com,应自动跳转到 https。

常见问题与提示

1、证书未生效/浏览器提示不安全

- 检查防火墙是否放行443 端口(云服务器安全组/虚拟主机控制台端口设置)。

- 确认域名解析已正确指向当前主机的 IP。

- 检查证书文件的路径和权限(例如chmod 600 *.key)。

- 如果是 Let's Encrypt 证书,确认 80 端口可达(用于自动验证域名所有权)。

2、问题(Mixed Content)

- 部署 HTTPS 后,如果页面加载了 HTTP 的资源(图片、JS、CSS),浏览器会警告不安全。

- 解决办法:将所有http:// 资源链接改为https:// 或使用相对路径(如//cdn.example.com/style.css),或通过 CSP 头统一升级。

3、面板型虚拟主机不支持手动证书?

- 多数云厂商面板提供了免费证书,直接使用即可,如果面板不支持,建议考虑升级为云服务器(ECS)或更换支持更完整的主机商。

4、证书续期

- Let's Encrypt 证书有效期为 90 天,可通过 Certbot 自动续期(通常有 systemd timer)。

- 付费证书一般有效期 1 年,到期前记得上传新证书。

场景 操作难度 推荐方法 关键点
面板型虚拟主机 极低 面板一键开启免费证书 只需点击按钮,无需处理证书文件
云服务器自建虚拟主机 中等 使用 Certbot 自动化或手动配置 Nginx 需修改配置文件,注意 443 端口放行

如果你能提供更具体的云服务商名称(如阿里云、腾讯云、百度云)以及是否拥有服务器 SSH 权限,我可以给出更精确的指令。

文章摘自:https://idc.huochengrm.cn/zj/25241.html

评论