
1. 项目概述让Stable Diffusion WebUI突破内网限制作为一名长期折腾AI绘画的技术爱好者我最近成功实现了将本地部署的Stable Diffusion WebUI服务通过内网穿透技术暴露到公网让手机、平板等移动设备也能随时访问。这个方案完美解决了高性能PC跑图移动设备无法实时操作的痛点。传统部署方式下Stable Diffusion WebUI默认只监听本地127.0.0.1地址这意味着只能在部署机器上通过浏览器访问同一局域网内的其他设备需要复杂配置才能连接外部网络完全无法访问通过内网穿透技术我们可以保留本地部署的低延迟优势实现跨设备、跨网络访问无需将模型和数据上传到第三方服务器保持完整的WebUI功能体验重要提示实施前请确保您拥有网络环境的管理权限避免违反所在组织的网络安全规定。2. 技术方案选型与对比2.1 常见内网穿透方案对比我测试了多种内网穿透工具以下是实测对比工具名称配置复杂度免费额度带宽限制稳定性适用场景cpolar低有1Mbps高临时测试、个人使用frp中无无高长期稳定部署ngrok低有40连接/分中快速演示ZeroTier中有无高组建虚拟局域网2.2 为什么选择cpolar对于Stable Diffusion WebUI这种需要传输图片的场景图片文件通常较大1-5MB需要保持长连接WebSocket对延迟敏感实时预览cpolar的优势在于提供固定的二级域名避免每次重启变化支持HTTPS自动证书保障传输安全客户端轻量仅10MB左右可视化仪表盘实时监控连接状态2.3 网络拓扑设计最终采用的网络架构[移动设备] ←公网→ [cpolar服务器] ←隧道→ [本地PC:7860端口] ↑ (流量转发)这种设计保证了原始数据始终在本地PC处理仅传输渲染后的图片结果无需暴露整个内网环境3. 详细配置步骤3.1 基础环境准备先确保本地环境已安装Python 3.10已部署Stable Diffusion WebUI通常运行在7860端口测试本地访问正常http://127.0.0.1:78603.2 cpolar安装配置对于不同操作系统Windows# 1. 下载客户端 Invoke-WebRequest https://www.cpolar.com/static/downloads/cpolar-stable-windows-amd64.zip -OutFile cpolar.zip # 2. 解压到程序目录 Expand-Archive -Path cpolar.zip -DestinationPath C:\Program Files\cpolar # 3. 添加环境变量 [Environment]::SetEnvironmentVariable(Path, [Environment]::GetEnvironmentVariable(Path, [EnvironmentVariableTarget]::Machine) ;C:\Program Files\cpolar, [EnvironmentVariableTarget]::Machine)Linux/macOS# 使用一键安装脚本 curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash3.3 认证与隧道创建注册cpolar账号获取authtoken执行认证cpolar authtoken [你的认证令牌]创建Stable Diffusion专用隧道# cpolar.yml 配置文件示例 tunnels: stable-diffusion: addr: 7860 proto: http region: hk hostname: my-ai-art启动服务cpolar start stable-diffusion3.4 WebUI配置调整为避免安全问题需要修改webui-user.bat(Windows)或webui.sh(Linux/macOS)# 修改启动参数 set COMMANDLINE_ARGS--listen --port 7860 --enable-insecure-extension-access关键参数说明--listen允许非本地连接--enable-insecure-extension-access允许远程安装插件不要使用--share参数会启用Gradio官方代理4. 安全加固措施4.1 基础防护方案密码保护 在webui-user.bat中添加set COMMANDLINE_ARGS--gradio-auth username:passwordIP白名单cpolar企业版支持tunnels: stable-diffusion: auth: username: yourname password: yourpass allow_ips: [123.123.123.123]HTTPS强制 cpolar自动提供HTTPS证书确保配置中未禁用tunnels: stable-diffusion: scheme: https4.2 进阶安全建议定期检查logs/cpolar.log中的访问记录为cpolar创建专用系统账户非root/Administrator设置自动重启监控防止进程意外退出# Linux使用systemd [Unit] DescriptionCpolar Service Afternetwork.target [Service] Usercpolar ExecStart/usr/local/bin/cpolar start-all Restartalways [Install] WantedBymulti-user.target5. 性能优化技巧5.1 图片传输优化修改WebUI设置降低预览图质量设置 → 图片质量 → 调整为70-80启用Send smaller preview images选项cpolar配置调整tunnels: stable-diffusion: compression: true buffer_size: 327685.2 移动端适配在手机浏览器访问时添加PWA快捷方式支持Chrome/Firefox/Safari修改style.css增加移动端样式media screen and (max-width: 768px) { #txt2img_actions_column { flex-direction: column; } .gradio-container { padding: 5px; } }5.3 带宽监控与限制使用cpolar内置统计功能cpolar status输出示例Tunnel Status online Version 2.6.0 Region Hong Kong Web Interface http://127.0.0.1:4040 Forwarding https://my-ai-art.cpolar.cn - http://localhost:7860 Total Traffic 1.2GB/5GB (24%)6. 常见问题排查6.1 连接问题速查表现象可能原因解决方案能访问但图片加载失败WebUI未设置--listen检查启动参数频繁断开连接网络波动更换cpolar区域如sg/hk提示Invalid host header反向代理配置冲突添加--no-gradio-queue参数移动端操作卡顿图片质量过高降低预览图分辨率突然无法访问免费额度用尽升级套餐或更换账号6.2 性能问题诊断使用内置工具分析瓶颈# 查看实时流量 cpolar http-stat # 测试延迟 curl -o /dev/null -s -w DNS: %{time_namelookup} Connect: %{time_connect} TTFB: %{time_starttransfer} Total: %{time_total}\n https://my-ai-art.cpolar.cn典型优化案例DNS时间 200ms → 改用IP直连或更换DNSTTFB 1s → 检查本地PC性能可能是GPU满载传输时间过长 → 启用压缩或降低图片质量7. 替代方案与扩展思路7.1 其他实现方式云服务器中转优点完全控制带宽和性能缺点需要额外成本约$5/月# 在云服务器上使用SSH反向代理 ssh -R 7860:localhost:7860 usercloud-server -NIPv6直连前提本地网络支持IPv6修改WebUI参数set COMMANDLINE_ARGS--listen --port 7860 --server-name ::Tailscale组网建立虚拟局域网所有设备安装Tailscale客户端直接访问PC的局域网IP7.2 高阶应用场景团队协作画图配合--api-auth参数实现多用户管理使用Prometheus监控API调用频次自动化工作流# 通过公网URL调用API import requests response requests.post( https://my-ai-art.cpolar.cn/sdapi/v1/txt2img, json{prompt: cat wearing sunglasses}, auth(username, password) )CDN加速企业版tunnels: stable-diffusion: edge_cache: enabled: true ttl: 600在实际使用中我发现cpolar的免费版完全能满足个人创作需求。对于需要更高稳定性的场景可以考虑他们的专业套餐约$10/月。最关键的技巧是定期检查cpolar logs及时发现并处理异常连接。