当前位置: 首页 > news >正文

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反向代理前,请确保已完成以下准备工作:

  1. 基础服务运行正常:Qwen3.5-9B已通过Gradio WebUI在7860端口正常运行
  2. 域名准备:已拥有一个可用的域名(如example.com)
  3. 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 nginx

3.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 配置说明

  1. SSL安全配置

    • 强制使用TLS 1.2/1.3
    • 禁用不安全的加密套件
    • 启用OCSP Stapling提高性能
  2. 反向代理设置

    • 将HTTPS流量转发到本地的7860端口
    • 保留原始客户端IP信息
    • 支持WebSocket协议
  3. 性能优化

    • 适当延长超时时间(大模型响应可能较慢)
    • 静态文件缓存减少服务器负载

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=true

4.1 常用管理命令

# 查看服务状态 supervisorctl status qwen3.5-9b # 重启服务 supervisorctl restart qwen3.5-9b # 停止服务 supervisorctl stop qwen3.5-9b # 查看实时日志 tail -f /root/qwen3.5-9b/service.log

5. 安全加固措施

5.1 防火墙配置

# 允许HTTP/HTTPS sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 禁止直接访问7860端口 sudo ufw deny 7860/tcp # 启用防火墙 sudo ufw enable

5.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 访问测试

  1. 通过HTTPS访问您的域名:https://yourdomain.com
  2. 验证SSL证书有效性(浏览器地址栏应显示安全锁图标)
  3. 测试各项功能:
    • 文本对话
    • 图片上传与分析
    • 参数调节

6.2 性能监控

# 查看Nginx连接状态 sudo nginx -t && sudo systemctl reload nginx sudo tail -f /var/log/nginx/access.log # 监控资源使用 htop nvidia-smi # 如有GPU

7. 常见问题解决

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反向代理,实现了以下安全增强:

  1. 加密传输:所有通信通过TLS加密,防止数据泄露
  2. 访问控制:限制直接访问原始端口,增加基础认证
  3. 性能优化:合理的超时设置和静态文件缓存
  4. 自动化维护:证书自动续期和进程监控

现在,您可以安全地通过互联网访问您的Qwen3.5-9B实例,享受其强大的多模态能力,而无需担心基础安全问题。

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

http://www.cnnetsun.cn/news/1629062.html

相关文章:

  • 愚人节最大“乌龙”:不是玩笑!Claude Code 51万行源码裸奔,AI独角兽栽在低级失误里
  • 深入解析Python中ort.InferenceSession的底层实现与性能优化
  • 实战应用:基于快马平台构建带界面的视频号视频下载桌面工具
  • 5分钟掌握Postman便携版:Windows开发者的API测试终极指南 [特殊字符]
  • Graphormer在药物ADMET预测中的拓展应用:LogS、BBB穿透性等属性迁移学习
  • 基于C++实现一个简单的(控制台)班级成绩管理系统
  • 内存暴涨却查不到源头?Python对象引用图谱分析法,手把手教你用tracemalloc+objgraph揪出“幽灵引用”
  • Pixel Aurora Engine 企业级应用:基于大模型的智能营销素材批量生成
  • Janus-Pro-7B快速原型开发:10分钟构建智能问答应用
  • LumiPixel Canvas Quest教育应用:生成历史人物或文学角色形象辅助教学
  • 如何把自己手动安装的 node 给 nvm 管理
  • UNIT-00模型在Markdown文档创作中的效果展示:以Typora风格为例
  • OpenClaw从入门到应用——频道:BlueBubbles
  • Ruoyi-Cloud整合Seata2.0踩坑实录:从Nacos配置到分布式事务实战
  • 电脑风扇噪音难忍?FanControl让散热管理变简单 - 开源智能风扇控制解决方案全解析
  • 利用Pixel Couplet Gen进行A/B测试:优化春节活动页面转化率
  • 5大核心功能解锁网页资源:猫抓开源工具让媒体捕获效率提升300%
  • 为什么WindTerm成为开发者的首选终端工具?深度评测与替代方案对比
  • ESP32实战指南:继电器与伺服电机的精准控制方案
  • 如何用Real-ESRGAN-GUI让模糊图片重获新生:双引擎AI图像超分辨率实战指南
  • 佳能全能清零软件报错5B00,5B01,5B02,1700,1701,1702,1704,P07,通过下面软件轻松修好,亲测完美。
  • LeetCode 128. Longest Consecutive Sequence 题解
  • cadence设置叠层
  • 实测阿里造相Z-Image-Turbo:8步生成惊艳图片,新手友好WebUI体验
  • 告别foobar2000界面痛点:foobox-cn如何3步打造沉浸式音乐体验
  • ML-Decoder实战:如何用这个万能分类头提升你的多标签分类模型性能(附代码)
  • 手把手教你用UML用例图梳理业务流程(附真实项目案例)
  • Wireshark抓包实战:用一道CTF题彻底搞懂IP分片与UDP重组
  • MySQL日期类型选择指南:告别纠结,选对类型
  • 别再只调参了!深入WDCNN第一层宽卷积核:为什么它对振动信号诊断这么有效?