要在局域网中访问 stable-diffusion-webui,你需要确保几个关键点,包括服务器配置、网络设置和防火墙配置。以下是排查和解决访问问题的步骤:
1. 确认 stable-diffusion-webui 正常运行
首先,确保 stable-diffusion-webui 在主机上运行并监听正确的端口。
1.1 启动 Web UI
如果你还没有启动 Web UI,使用以下命令启动:
python app.py --port 7860
确保应用启动时没有错误,并且正在监听你指定的端口(默认为 7860)。
1.2 确认监听地址
确保 Web UI 配置为监听所有网络接口(0.0.0.0),而不仅仅是本地地址(127.0.0.1)。如果你的 Web UI 启动命令中有 --host 参数,确保设置为 0.0.0.0。
python app.py --host 0.0.0.0 --port 7860
2. 检查网络设置
2.1 确认 IP 地址
确保你知道运行 stable-diffusion-webui 的计算机的局域网 IP 地址。你可以使用 ipconfig(Windows)或 ifconfig(Linux/macOS)命令来获取。
# Windows
ipconfig
# Linux/macOS
ifconfig
记下显示的 IP 地址,例如 192.168.1.100。
2.2 测试网络连通性
从另一台局域网计算机上测试是否能访问到 Web UI:
# 使用浏览器访问
http://192.168.1.100:7860
# 或者使用 curl 命令
curl http://192.168.1.100:7860
如果无法访问,检查以下内容:
3. 防火墙设置
3.1 检查防火墙规则
确保计算机的防火墙允许外部访问指定的端口(7860)。
-
Windows 防火墙:
- 打开控制面板 -> 系统和安全 -> Windows Defender 防火墙。
- 选择“高级设置”。
- 创建一个新的入站规则,允许 TCP 端口 7860。
-
Linux 防火墙(例如
ufw):sudo ufw allow 7860/tcp -
macOS 防火墙:
- 打开“系统偏好设置” -> “安全性与隐私” -> “防火墙”。
- 确保防火墙允许
python或app.py通过,或者临时关闭防火墙以进行测试。
4. 路由和子网设置
确保所有设备在同一子网中,以便能够相互访问。如果你的网络使用了子网或 VLAN,可能需要额外配置以确保访问权限。
5. 检查 Web UI 配置
有时 stable-diffusion-webui 可能会有配置文件或启动参数来指定绑定地址和端口,确保这些配置设置正确。
6. 重启服务
如果你在做了上述更改后仍然无法访问,尝试重启 stable-diffusion-webui 和计算机,确保所有配置生效。
7. 诊断工具
使用网络诊断工具检查问题的根本原因:
-
Telnet:测试端口是否开放。
telnet 192.168.1.100 7860 -
Nmap:扫描开放端口。
nmap -p 7860 192.168.1.100
8. 记录和分析日志
查看 stable-diffusion-webui 产生的日志文件,寻找任何错误信息或警告,这可能有助于定位问题。
通过这些步骤,你可以排查和解决 stable-diffusion-webui 在局域网中访问的问题。如果问题依然存在,请确保每个步骤都仔细检查,或考虑重新检查 Web UI 的设置和网络配置。