大模型HTTPS证书配置:Nginx反向代理实操指南

给大模型服务配置HTTPS,核心是把证书交给反向代理层处理,而不是直接改模型服务本身。
常见做法是用Nginx监听443端口,把请求转发到本地大模型API端口(比如8000或11434),这样浏览器和客户端就能通过域名安全访问。
下面按零基础可执行的顺序展开。

先确认你的大模型服务跑在哪

动手前先确认三件事:模型服务是否已在本地监听、是否允许被反向代理访问、域名是否已解析到服务器公网IP。

  • 查看模型服务监听端口:ss -tlnp | grep -E '8000|11434|8080',输出中有LISTEN说明服务在跑。
  • 本地测试接口:curl http://127.0.0.1:8000/v1/models,能返回JSON说明模型服务正常。
  • 域名解析检查:ping your-domain.com,返回的IP必须是你当前服务器的公网IP。

如果模型服务只监听127.0.0.1,Nginx在同一台机器上可以正常转发;
如果Nginx在另一台机器,需要让模型服务监听0.0.0.0并放行内网端口,但这会增加暴露面,建议优先同机部署。

申请证书并让Nginx接管443

以Let's Encrypt免费证书为例,前提是域名已解析、80端口可访问。
安装certbot后执行:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com

按提示输入邮箱并同意条款,certbot会自动修改Nginx配置并申请证书。
完成后检查/etc/nginx/sites-enabled/下对应站点文件,应能看到listen 443 ssl和证书路径。

如果你已有商业证书,
把证书文件和私钥上传到服务器,
例如/etc/nginx/ssl/fullchain.pem和/etc/nginx/ssl/privkey.pem,
然后手动写配置。

反向代理配置的关键片段

在Nginx站点配置中加入以下内容,注意proxy_pass指向你的模型服务真实地址:

server {
    listen 443 ssl;
    server_name your-domain.com;

    ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 300s;
        proxy_buffering off;
    }
}

保存后先测试配置:sudo nginx -t,看到syntax is ok和test is successful再重载:sudo systemctl reload nginx。

proxy_read_timeout建议调大,因为大模型生成响应可能超过默认60秒;proxy_buffering off可避免流式输出被缓冲。

容易踩的坑和对应检查

  • 证书申请失败:多半是80端口被防火墙拦截或域名解析未生效。检查sudo ufw status和curl -I http://your-domain.com。
  • 访问返回502:Nginx连不上后端模型服务。用curl http://127.0.0.1:8000确认后端存活,再检查proxy_pass地址和端口。
  • 浏览器提示证书无效:确认访问的是https://且域名与证书一致,不要用IP访问。
  • 流式输出卡住:检查是否开启了proxy_buffering off,以及后端是否支持流式响应。
  • 重载后配置未生效:nginx -t通过后必须reload,只保存文件不会生效。

验证配置是否真正生效

用两个命令做最终确认:

curl -I https://your-domain.com
curl https://your-domain.com/v1/models

第一条应返回HTTP/2 200或HTTP/1.1 200,且证书信息正常;
第二条应返回模型列表JSON,说明HTTPS到后端链路已打通。
浏览器打开域名时地址栏应显示锁形图标。

如果客户端调用大模型API,把Base URL从http://IP:8000改为https://your-domain.com即可。
证书到期前certbot会自动续期,可用sudo certbot renew --dry-run验证续期流程是否正常。

常见疑问

模型服务本身不支持HTTPS,必须改代码吗?
不需要。HTTPS在Nginx层终止,后端继续用HTTP通信,模型服务无需改动。

可以用IP地址申请证书吗?
Let's Encrypt不为纯IP签发证书,需要域名。内网环境可考虑自签证书,但客户端需要手动信任。

配置后API调用超时怎么办?
先确认proxy_read_timeout是否足够大,再检查后端生成耗时;流式场景同时确认proxy_buffering off已生效。

分享到:
上一篇
大模型Nginx代理配置:从零搭建API反向代理与密钥保护
下一篇
大模型跨域配置教程:Nginx 反向代理与 CORS 头设置
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意