Python FastApi局域网部署咨询:如何让局域网用户访问本地服务
如何在公司局域网Windows主机/虚拟机部署FastAPI服务并让其他用户访问
完全可以实现,只要部署服务的主机处于公司局域网内,同网段的其他用户就能访问你的FastAPI端点,具体步骤如下:
1. 修改Uvicorn启动参数
默认用localhost或127.0.0.1启动时,服务只监听本机回环地址,只有本机能访问。要改成监听局域网IP或者所有网卡:
- 先获取主机的局域网IP:按下
Win+R输入cmd,执行ipconfig命令,找到以太网或WLAN对应的IPv4地址(比如192.168.3.25) - 启动命令调整为以下两种之一:
- 监听所有可用网卡(推荐):
uvicorn main:app --host 0.0.0.0 --port 8000 - 监听指定局域网IP:
uvicorn main:app --host 192.168.3.25 --port 8000
main是你的FastAPI主文件名,app是文件里创建的FastAPI实例,8000是服务端口,可根据需要修改。 - 监听所有可用网卡(推荐):
2. 配置Windows防火墙放行端口
Windows默认防火墙会拦截外部对该端口的访问,需要添加入站规则:
- 打开「Windows Defender防火墙」→「高级设置」→「入站规则」→「新建规则」
- 规则类型选择「端口」,点击下一步;选择「TCP」,输入本地端口
8000(和启动命令里的端口一致) - 下一步选择「允许连接」,勾选适用的网络(一般选「域」和「专用」,根据公司网络环境调整)
- 给规则命名(比如
FastAPI_8000_Port),完成配置。
3. 测试局域网访问
让同局域网的用户通过你的主机局域网IP+端口访问服务,比如:
- 基础端点:
http://192.168.3.25:8000 - 自动生成的文档页面:
http://192.168.3.25:8000/docs
额外提示
- 如果部署在虚拟机上,必须将虚拟机网络模式设置为「桥接模式」,这样虚拟机会直接获取局域网IP,其他用户才能访问;NAT模式下虚拟机处于独立子网,无法被局域网其他设备访问。
- 若公司有严格的网络管控,可能需要联系IT部门确认端口是否允许开放,避免被网关或上层防火墙拦截。
- 要让服务长期稳定运行,可将Uvicorn注册为Windows系统服务,避免关闭命令提示符就停止服务。可以用
nssm工具实现:下载nssm后,执行nssm install FastAPI_Service,然后在弹出的窗口中配置服务的启动路径、命令参数等。
内容的提问来源于stack exchange,提问作者yellow claw
相关产品推荐
相关产品推荐

