Python 程序默认绑定 127.0.0.1 (仅本地访问),要让其他网络地址访问,核心是将绑定地址改为 0.0.0.0 ,同时开放对应端口的防火墙/安全组。
一、主流框架/场景的修改方法(核心步骤)
- Flask 框架
python
app.run(host='0.0.0.0', port=5000) # host改为0.0.0.0,port自定义
- Django 框架
- 方法1:启动命令指定
bash
python manage.py runserver 0.0.0.0:8000
- 方法2:修改 settings.py (允许跨IP访问)
python
ALLOWED_HOSTS = [''] # 表示允许所有IP,也可指定具体IP如['192.168.1.100']
- FastAPI 框架
python
import uvicorn
from fastapi import FastAPI
app = FastAPI()
if name == '__main__':
uvicorn.run(app, host='0.0.0.0', port=8000)
- 原生socket 服务
python
s = socket.socket()
s.bind(('0.0.0.0', 9000)) # 绑定0.0.0.0和端口
s.listen()
二、关键补充(必做,否则仍无法访问)
1. 获取本机可访问IP:在程序所在电脑执行 ipconfig (Windows)/ ifconfig (Linux/Mac),找到局域网IP(如 192.168.xxx.xxx ),其他设备用此IP+端口访问(如 192.168.1.100:5000 )。
2. 开放防火墙/安全组:
- 本地防火墙:放行程序的端口(如5000、8000);
- 云服务器(阿里云/腾讯云等):在控制台安全组中,添加入站规则,放行对应端口和协议(TCP)。
三、访问方式
其他设备在浏览器/客户端输入: 【程序主机IP】:【端口号】 ,即可访问。
四、注意事项
- 0.0.0.0 表示绑定本机所有网络接口(局域网、公网等),公网服务器需谨慎,避免未授权访问;
- 端口号建议选择 1024-65535 之间的未被占用端口,避免与系统端口冲突。
评论0
暂时没有评论