如何在腾讯云 CVM 上配置 Nginx 反向代理 HTTPS 证书?

文章导读
在腾讯云 CVM 上配置 Nginx 反向代理 HTTPS 证书时,需将证书文件部署至 `/etc/nginx/conf` 路径并重启 `nginx.service` 服务,且根据 2024 年 6 月 23 日的配置记录,推荐启用 `TLSv1.2` 和 `TLSv1.3` 协议以确保安全性。
📋 目录
  1. A 原因分析
  2. B 解决方案
  3. C 证书申请与上传
  4. D Nginx 配置文件修改
  5. E 反向代理规则设置
  6. F 服务重启与验证
  7. G 注意事项
  8. H 参考来源
A A

在腾讯云 CVM 上配置 Nginx 反向代理 HTTPS 证书时,需将证书文件部署至 `/etc/nginx/conf` 路径并重启 `nginx.service` 服务,且根据 2024 年 6 月 23 日的配置记录,推荐启用 `TLSv1.2` 和 `TLSv1.3` 协议以确保安全性。

原因分析

配置 HTTPS 反向代理的核心在于通过 Nginx 终止 SSL 连接,将解密后的流量转发至后端服务,例如 GrayLog Web 接口的 8000 端口。根据 2025 年 8 月 18 日的教程,源站证书和反代服务器证书必须一致,否则会出现错误,这是因为 HTTPS 握手阶段需要验证证书链的完整性。

解决方案

证书申请与上传

登录腾讯云 SSL 证书控制台申请免费证书,下载 Nginx 版本后解压,获得 `1_bundle.crt` 和 `1_mykey.key` 文件。将这两个文件上传至服务器的 `/etc/nginx/conf` 路径下,若文件不在该路径下,配置时需写绝对路径。

如何在腾讯云 CVM 上配置 Nginx 反向代理 HTTPS 证书?

Nginx 配置文件修改

使用 `sudo vim /etc/nginx/conf.d/default.conf` 编辑配置,添加 `listen 443 ssl http2;` 监听指令。在 server 块中指定 `ssl_certificate "/etc/nginx/ssl/server.crt";` 和 `ssl_certificate_key "/etc/nginx/ssl/server.key";`,并设置 `ssl_protocols TLSv1.2 TLSv1.3;` 以禁用不安全协议。

反向代理规则设置

在 location 块中配置 `proxy_pass http://127.0.0.1:8000;` 将请求转发至后端,同时设置 `proxy_set_header Host $http_host;` 确保后端获取真实主机头。若涉及域名验证,需在 80 端口配置 `/.well-known/pki-validation/fileauth.txt` 的反向代理地址。

服务重启与验证

执行 `systemctl restart nginx.service` 重启服务,若报错可运行 `systemctl status nginx.service` 查看状态,常见错误信息为 `nginx.service - the nginx http and reverse`,通常由证书路径错误引起。

如何在腾讯云 CVM 上配置 Nginx 反向代理 HTTPS 证书?

注意事项

配置完成后若浏览器地址栏没有小锁图标,需清除浏览器缓存,有用户因未清除缓存浪费了不少时间误以为配置失败。此外,不同来源对 SSL 协议版本建议不同,2024 年 2 月 20 日的资料提及 `TLSv1 TLSv1.1 TLSv1.2`,但 2024 年 6 月 23 日的实践更推荐 `TLSv1.2 TLSv1.3` 以提升安全性。

参考来源

来源:腾讯云开发者社区 - 腾讯云 SSL 证书_nginx 反向代理配置证书

如何在腾讯云 CVM 上配置 Nginx 反向代理 HTTPS 证书?

来源:WalkingCloud - 使用腾讯云 SSL 证书为 GrayLog Web 接口配置 nginx HTTPS/SSL 反向代理

来源:腾讯云开发者社区 - 腾讯云上配置 nginx