ComfyUI 启动后默认只监听 127.0.0.1 这个本机回环地址,也就是说只有运行 ComfyUI 的那台电脑自己能打开界面。如果你想在同一局域网内的笔记本、平板或手机上访问显卡服务器上跑的 ComfyUI,就需要用到 --listen 参数。这个参数的作用是让服务监听所有网络接口,从而接受来自其他设备的请求。本文会从原理到实操,把整个过程讲清楚。

为什么默认无法局域网访问,--listen 参数做了什么
ComfyUI 底层使用 Python 的 HTTP 服务框架绑定地址和端口。默认绑定 127.0.0.1 时,操作系统只会把本机进程发出的请求交给这个服务,外部网卡上的流量一律不转发。这是一种安全的默认行为,可以避免服务在未经配置的情况下暴露到网络中。但如果你的使用场景是多台设备共享一台高性能主机跑图,这个默认设置就成了障碍。
--listen 参数的作用就是改变绑定地址。加上这个参数后,服务会绑定到 0.0.0.0,意思是监听主机上所有网络接口,包括有线网卡、无线网卡上的内网 IP。这样局域网内其他设备只要知道主机的内网地址,就能通过浏览器访问 ComfyUI 的完整界面,上传图片、调整节点、点击生成,体验和本机操作几乎没有区别。
需要理解的一点是,--listen 本身不带鉴权机制,它只是打开了网络入口。所以它适合的场景是可信的内网环境,比如家里的路由器下面或办公室的内部网络。如果你打算把端口映射到公网让外网访问,那就必须额外考虑安全措施,后面会专门讲到。
具体的启动命令与常用参数搭配
最基本的写法非常简单,在启动命令后面加上 --listen 即可。以 Windows 下常用的便携版为例,通常需要编辑根目录里的 run_nvidia_gpu.bat 文件,在命令行末尾追加参数:
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --listen
如果你是手动安装的版本,直接在命令行启动即可:
python main.py --listen
启动成功后,控制台会显示 To see the GUI go to 类似的提示,后面跟的地址通常会变成 0.0.0.0:8188。这时候在本机浏览器访问 localhost:8188 依然正常,而局域网设备则需要访问主机的内网 IP 加端口,比如 192.168.1.100:8188。
查看主机内网 IP 的方法:Windows 下打开命令提示符输入 ipconfig,找到 IPv4 地址那一行;Linux 或 macOS 下使用 ifconfig 或 ip addr 命令。拿到 IP 后,在其他设备的浏览器地址栏输入 IP 加端口就能访问了。
如果 8188 端口被占用,或者你想给不同的 ComfyUI 实例分配不同端口,可以搭配 --port 参数使用:
python main.py --listen --port 8288
此外还有几个实用参数可以一起了解。--enable-cors-header 在你需要在其他页面上嵌入 ComfyUI 界面时会用到;--max-upload-size 可以调大上传文件的限制,局域网共享时传大尺寸原图比较有用。多个参数之间用空格隔开写在同一行即可。
防火墙放行与常见连接失败排查
很多情况下命令启动正常、本机访问也正常,但其他设备就是打不开页面,十有八九是防火墙拦住了。Windows 防火墙默认会阻止外部入站连接,需要手动放行 8188 端口或 Python 程序本身。
Windows 下可以用管理员权限的 PowerShell 快速添加放行规则:
netsh advfirewall firewall add rule name="ComfyUI" dir=in action=allow protocol=TCP localport=8188
也可以走图形界面:打开 Windows 安全中心的防火墙设置,选择高级设置,新建一条入站规则,协议选 TCP,端口填 8188,允许连接即可。Linux 下如果启用了 ufw,执行以下命令放行:
sudo ufw allow 8188/tcp
排查连接问题时可以按这个顺序检查:第一,确认主机和访问设备在同一个网段,路由器开了 AP 隔离功能的话设备之间是互相 ping 不通的,需要到路由器后台关闭;第二,在访问设备上用 ping 测试主机 IP 是否可达;第三,确认浏览器地址栏输入的是 IP 加冒号加端口,端口不要漏写;第四,检查启动日志里是否真的显示了监听 0.0.0.0,如果还是 127.0.0.1 说明参数没生效,检查 bat 文件是否改对了位置、是否保存生效。
还有一个容易被忽略的问题:内网 IP 通常是 DHCP 动态分配的,路由器重启后主机 IP 可能变化,导致之前的地址失效。建议在路由器后台给主机做 IP 与 MAC 地址绑定,或者在主机上设置静态 IP,这样所有设备收藏的地址就长期有效了。
安全注意事项与进阶方案
把 ComfyUI 暴露到局域网之后,安全问题就不能完全无视了。ComfyUI 本身没有登录认证功能,任何能访问该地址和端口的设备都可以使用算力、上传文件。在家庭内网里这基本不是问题,但在公司或宿舍等共享网络中就要留心了。
如果确实需要从外网访问,不建议直接在路由器上做端口映射把 8188 暴露给公网,因为没有任何鉴权的服务放在公网上风险很高。更稳妥的做法是建立隧道:使用 SSH 端口转发是最简单的方式,只要主机开了 SSH 服务,在远程设备上执行:
ssh -L 8188:localhost:8188 user@192.168.1.100
之后在远程设备的浏览器访问 localhost:8188,流量就会通过加密通道转发到主机的 ComfyUI,既安全又不需要改任何服务端配置。也可以使用 frp、Tailscale、ZeroTier 这类组网工具,把远程设备拉进一个虚拟局域网,体验和真实内网一致。
另外提一个生产环境下的常见做法:用 Nginx 反向代理把 ComfyUI 挂在域名路径下,由 Nginx 层配置 Basic Auth 认证和 HTTPS 证书。ComfyUI 的 WebSocket 通信在反向代理时需要正确转发 Upgrade 头,配置时要注意这一项,否则界面能打开但生成进度条不会动。
总结一下,局域网共享只需要三步:启动命令加 --listen 参数、查到主机内网 IP、防火墙放行端口。整个过程几分钟就能搞定,之后无论是用平板躺着调工作流,还是让团队多人共用一台显卡服务器,都会方便很多。外网访问则务必走隧道或加认证,不要裸奔端口到公网。