Qwen3.5-9B部署教程:HTTPS反向代理(Nginx)安全访问配置
Qwen3.5-9B部署教程:HTTPS反向代理(Nginx)安全访问配置
1. 项目概述
Qwen3.5-9B是一个拥有90亿参数的开源大语言模型,具备强大的逻辑推理、代码生成和多轮对话能力。该模型支持多模态理解(图文输入)和长上下文处理(最高可达128K tokens),是当前开源模型中的佼佼者。
1.1 基础环境信息
- 模型版本: Qwen3.5-9B(多模态变体)
- 搭建日期: 2026-03-25
- 运行环境: torch28 (Conda)
- 默认端口: 7860
- 进程管理: Supervisor
2. 准备工作
在开始配置HTTPS反向代理前,请确保已完成以下准备工作:
- 基础服务运行正常:Qwen3.5-9B已通过Gradio WebUI在7860端口正常运行
- 域名准备:已拥有一个可用的域名(如example.com)
- SSL证书:已获取有效的SSL证书(可通过Let's Encrypt免费获取)
2.1 项目目录结构
/root/qwen3.5-9b/ ├── app.py # 主程序 (Gradio WebUI) ├── start.sh # 启动脚本 ├── service.log # 运行日志 └── history.json # 对话历史记录3. Nginx反向代理配置
3.1 安装Nginx
# Ubuntu/Debian sudo apt update && sudo apt install -y nginx # CentOS/RHEL sudo yum install -y epel-release sudo yum install -y nginx3.2 配置SSL证书
假设您已通过Certbot获取Let's Encrypt证书:
sudo certbot certonly --standalone -d yourdomain.com证书通常存储在:
- 证书文件:
/etc/letsencrypt/live/yourdomain.com/fullchain.pem - 私钥文件:
/etc/letsencrypt/live/yourdomain.com/privkey.pem
3.3 创建Nginx配置文件
在/etc/nginx/conf.d/qwen3.5-9b.conf中创建以下内容:
server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; # SSL优化配置 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256...'; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; location / { proxy_pass http://localhost:7860; 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; # WebSocket支持 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # 超时设置 proxy_connect_timeout 60s; proxy_read_timeout 600s; proxy_send_timeout 600s; } # 静态文件缓存 location /static/ { alias /root/qwen3.5-9b/static/; expires 30d; access_log off; } } # HTTP重定向到HTTPS server { listen 80; server_name yourdomain.com; return 301 https://$host$request_uri; }3.4 配置说明
SSL安全配置:
- 强制使用TLS 1.2/1.3
- 禁用不安全的加密套件
- 启用OCSP Stapling提高性能
反向代理设置:
- 将HTTPS流量转发到本地的7860端口
- 保留原始客户端IP信息
- 支持WebSocket协议
性能优化:
- 适当延长超时时间(大模型响应可能较慢)
- 静态文件缓存减少服务器负载
4. Supervisor进程管理
确保Qwen3.5-9B服务通过Supervisor管理,配置文件位于/etc/supervisor/conf.d/qwen3.5-9b.conf:
[program:qwen3.5-9b] command=/bin/bash /root/qwen3.5-9b/start.sh directory=/root/qwen3.5-9b environment=HOME="/root",USER="root",LOGNAME="root",SHELL="/bin/bash",PATH="/opt/miniconda3/envs/torch28/bin:/usr/bin:/bin" user=root autostart=true autorestart=true startsecs=30 startretries=3 redirect_stderr=true stdout_logfile=/root/qwen3.5-9b/service.log stopasgroup=true killasgroup=true4.1 常用管理命令
# 查看服务状态 supervisorctl status qwen3.5-9b # 重启服务 supervisorctl restart qwen3.5-9b # 停止服务 supervisorctl stop qwen3.5-9b # 查看实时日志 tail -f /root/qwen3.5-9b/service.log5. 安全加固措施
5.1 防火墙配置
# 允许HTTP/HTTPS sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 禁止直接访问7860端口 sudo ufw deny 7860/tcp # 启用防火墙 sudo ufw enable5.2 访问控制
在Nginx配置中添加基础认证:
location / { auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://localhost:7860; # ...其他proxy设置 }创建密码文件:
sudo sh -c "echo -n 'username:' >> /etc/nginx/.htpasswd" sudo sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"5.3 定期更新证书
设置crontab自动续期:
# 编辑crontab sudo crontab -e # 添加以下内容(每月1号凌晨3点检查续期) 0 3 1 * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"6. 功能验证
6.1 访问测试
- 通过HTTPS访问您的域名:
https://yourdomain.com - 验证SSL证书有效性(浏览器地址栏应显示安全锁图标)
- 测试各项功能:
- 文本对话
- 图片上传与分析
- 参数调节
6.2 性能监控
# 查看Nginx连接状态 sudo nginx -t && sudo systemctl reload nginx sudo tail -f /var/log/nginx/access.log # 监控资源使用 htop nvidia-smi # 如有GPU7. 常见问题解决
7.1 502 Bad Gateway错误
可能原因:
- Qwen3.5-9B服务未运行
- 代理超时设置过短
解决方法:
# 检查服务状态 supervisorctl status qwen3.5-9b # 增加Nginx超时时间 proxy_connect_timeout 300s; proxy_read_timeout 300s; proxy_send_timeout 300s;7.2 SSL证书问题
错误现象:
- 浏览器提示"不安全连接"
- 证书过期警告
解决方法:
# 手动更新证书 sudo certbot renew --force-renewal # 检查证书路径 ls -l /etc/letsencrypt/live/yourdomain.com/7.3 WebSocket连接失败
解决方法: 确保Nginx配置中包含WebSocket支持:
proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";8. 总结
通过本教程,您已经成功为Qwen3.5-9B配置了HTTPS反向代理,实现了以下安全增强:
- 加密传输:所有通信通过TLS加密,防止数据泄露
- 访问控制:限制直接访问原始端口,增加基础认证
- 性能优化:合理的超时设置和静态文件缓存
- 自动化维护:证书自动续期和进程监控
现在,您可以安全地通过互联网访问您的Qwen3.5-9B实例,享受其强大的多模态能力,而无需担心基础安全问题。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
