安全组怎么配?让GLM-4.6V-Flash-WEB网页顺利加载
部署完 GLM-4.6V-Flash-WEB 镜像,Jupyter 能进、脚本也能跑,可点击“网页推理”按钮后浏览器却只显示“无法访问此网站”——你不是一个人。这个问题高频出现,但真正搞懂原因的人不多。它和模型性能无关,也不怪代码写错,而是卡在了网络通路的最后一公里:安全组没配对。
安全组,是云服务器的“电子门禁”,默认只放行 SSH(22端口)和 Jupyter(8888端口),而 GLM-4.6V-Flash-WEB 的网页界面默认走的是7860 端口。这就像你家门锁好了、灯也亮着、人就在客厅,但访客按了十次门铃都没人开门——因为门禁系统根本没给访客留通行权限。
本文不讲抽象概念,不堆术语,只聚焦一件事:手把手教你把 7860 端口从安全组里“放出来”,让网页稳稳加载出来。全程基于真实操作场景,每一步都对应一个具体动作,小白照着做就能通。
1. 先确认:你的网页服务到底在不在跑?
别急着改安全组。很多问题其实出在服务压根没起来。先花 30 秒验证基础状态。
1.1 进入容器内部,查进程是否存在
打开 Jupyter 终端(或通过 SSH 登录到实例),执行:
ps aux | grep "app.py\|gradio\|fastapi"你希望看到类似这样的输出:
root 21543 12.7 18.3 2105420 748920 ? Ssl 14:22 0:42 python app.py --host 0.0.0.0 --port 7860有app.py或gradio进程,且参数含--host 0.0.0.0和--port 7860→ 服务已启动
❌ 没有相关进程,或参数是--host 127.0.0.1→ 服务未运行或绑定错误,需先修复启动脚本
小贴士:镜像自带的
1键推理.sh默认已设为0.0.0.0,但如果被手动修改过,务必检查/root/GLM-4.6V-Flash/1键推理.sh文件末尾的python app.py命令。
1.2 查端口监听地址,确认是否对外开放
继续在终端执行:
netstat -tuln | grep :7860理想结果是:
tcp6 0 0 :::7860 :::* LISTEN或:
tcp 0 0 0.0.0.0:7860 0.0.0.0:* LISTEN如果看到的是:
tcp 0 0 127.0.0.1:7860 0.0.0.0:* LISTEN说明服务只接受本机请求,外部流量进不来。此时必须修改启动命令中的--host参数为0.0.0.0,再重启。
2. 再验证:Docker 是否把 7860 端口映射出来了?
即使服务绑定了0.0.0.0:7860,如果 Docker 没把宿主机的 7860 映射给容器,请求连服务器大门都摸不到。
2.1 查看当前容器 ID 和端口映射
执行:
docker ps找到 GLM-4.6V-Flash-WEB 对应的容器 ID(一串字母数字组合,如a1b2c3d4e5f6),然后运行:
docker port a1b2c3d4e5f6正常输出应包含:
7860/tcp -> 0.0.0.0:7860 8888/tcp -> 0.0.0.0:8888有7860/tcp -> 0.0.0.0:7860→ 映射成功
❌ 没有这一行 → Docker 启动时漏掉了-p 7860:7860参数
补救方法:停止当前容器(
docker stop a1b2c3d4e5f6),再用完整命令重跑:docker run -it \ -p 8888:8888 \ -p 7860:7860 \ --gpus all \ --shm-size=8g \ glm-4.6v-flash-web:latest
3. 关键一步:安全组配置实操(以 AutoDL / ModelScope Studio 为例)
现在前两关都过了,服务在跑、端口也映射了,就差最后这道“电子门禁”——安全组。不同平台入口略有差异,但核心逻辑完全一致:添加一条允许 TCP 协议、7860 端口、来源为 0.0.0.0/0 的入站规则。
3.1 AutoDL 平台操作路径
- 登录 AutoDL → 进入「控制台」→「我的实例」
- 找到你正在运行 GLM-4.6V-Flash-WEB 的那台 GPU 实例,点击右侧「管理」
- 在左侧菜单栏点击「安全组」→「配置规则」
- 点击「添加规则」,填写以下内容:
| 字段 | 值 |
|---|---|
| 方向 | 入方向 |
| 协议类型 | TCP |
| 端口范围 | 7860 |
| 授权对象 | 0.0.0.0/0 |
| 描述 | GLM-4.6V-Flash-WEB网页 |
- 点击「确定」保存。无需重启实例,规则立即生效。
3.2 ModelScope Studio 操作路径
- 登录 ModelScope Studio → 左侧「我的资源」→「实例」
- 找到对应实例,点击「更多」→「安全组设置」
- 在「入方向规则」区域点击「+ 添加规则」
- 设置如下:
- 类型:自定义 TCP
- 协议:TCP
- 端口范围:7860
- 授权对象:0.0.0.0/0
- 优先级:留默认即可
- 点击「确定」完成。
3.3 阿里云 / 腾讯云等公有云(通用逻辑)
如果你是在阿里云 ECS、腾讯云 CVM 上部署,操作更标准化:
- 进入「云服务器 ECS」→ 找到实例 → 点击「更多」→「网络和安全组」→「安全组配置」
- 找到绑定的安全组 → 点击「配置规则」→「添加安全组规则」
- 协议类型选TCP,端口范围填7860,授权对象填0.0.0.0/0(测试阶段可用;生产环境建议限制为你的办公 IP)
注意:有些平台会要求同时开放「UDP 7860」,但 GLM-4.6V-Flash-WEB 仅使用 TCP,无需额外开 UDP。
4. 最后验证:三步快速确认是否通了
改完安全组,别急着关页面。用三个简单命令,5 秒内闭环验证:
4.1 第一步:在服务器本地 curl 测试
仍在终端中执行:
curl -I http://127.0.0.1:7860返回HTTP/1.1 200 OK或HTTP/1.1 302 Found→ 服务本身健康,能响应
❌ 返回curl: (7) Failed to connect→ 服务没起来或端口不对,回退到第 1 步
4.2 第二步:用公网 IP + 端口直连测试(绕过浏览器)
在终端中,将<your_public_ip>替换为你实例的公网 IP(可在实例详情页看到),执行:
curl -I http://<your_public_ip>:7860成功返回 HTTP 头 → 说明安全组 + 端口映射全部生效
❌ 连接超时或拒绝 → 安全组未生效,或 IP 输入错误,或平台有额外防火墙(如 AutoDL 的“端口白名单”需单独开启)
AutoDL 用户注意:除安全组外,还需确认「实例详情页」→「端口白名单」中是否已添加
7860。未添加则需手动输入并提交。
4.3 第三步:浏览器访问,看最终效果
打开浏览器,输入:
http://<your_public_ip>:7860页面正常加载,出现 GLM-4.6V-Flash-WEB 的上传框和对话界面 → 大功告成
❌ 仍提示“无法访问” → 检查浏览器是否拦截了非 HTTPS 请求(可尝试 Chrome 无痕模式),或确认是否误用了https://
小技巧:AutoDL 控制台的「网页推理」按钮本质就是跳转到
http://<ip>:7860,所以只要这一步通了,按钮必然可用。
5. 让它更稳:两个必做的加固动作
配通只是起点,长期使用还需两点小优化,避免后续掉坑。
5.1 用 nohup 启动,防止终端断开导致服务退出
很多人在 Jupyter 终端里直接运行bash 1键推理.sh,一旦关闭标签页,服务就随终端一起挂了。
推荐改为后台守护式启动:
cd /root/GLM-4.6V-Flash nohup bash 1键推理.sh > webui.log 2>&1 &这样即使你关掉浏览器、断开网络,服务依然在后台运行。日志自动存到webui.log,出问题随时可查。
5.2 给网页加个简单密码,防未授权访问
公开暴露 7860 端口存在风险。Gradio 支持一行代码加登录页:
编辑/root/GLM-4.6V-Flash/app.py,找到demo.launch(...)这一行,在括号内加上auth=("用户名", "密码"),例如:
demo.launch( server_name="0.0.0.0", server_port=7860, auth=("glm", "flash2024") )保存后重启服务(pkill -f app.py && bash 1键推理.sh),下次访问就会弹出登录框。
6. 总结:安全组配置的本质,是一次精准的“端口授权”
你不需要记住所有命令,只需理解一个核心逻辑:
GLM-4.6V-Flash-WEB 的网页界面 = 一个运行在容器里的 Web 服务 = 它需要通过 7860 端口对外说话 = 云平台必须明确告诉安全组:“允许任何人通过这个端口来听它说话”。
整个过程就三件事:
- 服务自己得愿意对外说(
--host 0.0.0.0) - Docker 得把话筒递出去(
-p 7860:7860) - 安全组得把门打开(添加 TCP:7860 入站规则)
缺一不可,但每一步都简单、可验证、可回滚。下次再遇到“网页打不开”,别再怀疑模型或代码,先顺着这条链路,逐层敲一遍命令,90% 的问题当场解决。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。