关于服务器只能访问localhost:8111地址,局域网不能访问的问题

一、问题来源

服务器是使用的阿里云的服务器,服务器端的8111端口没有设置任何别的限制,但是在阿里云服务器端并没有设置相应的tcp连接8111端口。

二、解决办法:

1、使用阿里云初始化好的端口;2、配置新的阿里云端口。

三、具体排错方案:

1、确保 uvicorn 运行时绑定了 0.0.0.0,外部才可以访问(如果是轮询地址127.0.0.1只能在服务器端访问)

bash 复制代码
uvicorn main:app --host 0.0.0.0 --port 8111

2、在服务器上用 curl 试试:

bash 复制代码
curl http://127.0.0.1:8111

如果本地访问正常,再试试公网 IP:

bash 复制代码
curl http://公网ip:8111

3、运行以下命令,查看 8111 端口的监听状态:

bash 复制代码
sudo netstat -tulnp | grep 8111

或者:

bash 复制代码
sudo lsof -i :8111

正常情况:

tcp 0 0 0.0.0.0:8111 0.0.0.0:* LISTEN 12345/python

错误情况(只监听 127.0.0.1):

tcp 0 0 127.0.0.1:8111 0.0.0.0:* LISTEN 12345/python

如果监听的是 127.0.0.1:8111,局域网当然访问不到,你需要重新启动程序:

bash 复制代码
uvicorn predicttemp:app --host 0.0.0.0 --port 8111 --reload

4、检查 ufw(防火墙)是否拦截了 8011 端口

bash 复制代码
sudo ufw status

未启用为inactive

ufw 启用了(状态是 active),手动放行 8011 端口:

bash 复制代码
sudo ufw allow 8011/tcp

sudo ufw reload

服务器防火墙(iptables)是否允许 8011 端口

bash 复制代码
iptables -L -n

正常输出:

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8111

可以再手动添加一次

bash 复制代码
sudo iptables -A INPUT -p tcp --dport 8111 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 8111 -j ACCEPT
bash 复制代码
sudo iptables-save

5、云服务器的安全组是否允许 8111

如果你的服务器是 阿里云、腾讯云、AWS、华为云,你需要:(上述步骤一、二)

  • 阿里云 :进入 ECS控制台安全组添加入站规则 ,放行 TCP 8111 端口。

  • 腾讯云 :进入 云服务器防火墙放行 8111 端口

  • AWS (EC2):进入 Security GroupsInbound Rules允许 8111

6、服务器端验证

bash 复制代码
curl http://服务器端ip:8111

会成功连接你的服务器端口!

相关推荐
AI-Ming1 分钟前
程序员转行学习 AI 大模型: 踩坑记录:服务器内存不够,程序被killed
服务器·人工智能·python·gpt·深度学习·学习·agi
yj_xqj21 分钟前
HAproxy负载均衡集群部署
运维·负载均衡
路由侠内网穿透23 分钟前
本地部署开源工作空间工具 AFFiNE 并实现外部访问
运维·服务器·数据库·物联网·开源
zzzsde25 分钟前
【Linux】Ext文件系统(1)
linux·运维·服务器
爱学习的小囧27 分钟前
ESXi 8.0 无法选择分区方式 小白级详细解决办法
运维·服务器·网络·虚拟化·esxi8.0
F1FJJ31 分钟前
什么是 Shield CLI?视频讲解:一条命令,可浏览器远程访问一切内部服务(RDP/VNC/SSH/数据库等)
运维·网络·数据库·网络协议·ssh
WordPress学习笔记32 分钟前
wordpress网站上传不了图片可能是文件夹的权限的原因
运维·wordpress·文件夹权限·uploads·wordpress上传错误
倔强的胖蚂蚁1 小时前
openEuler 24.03 LTS SP3 motd标志区使用教程
运维·云原生
南湖北漠1 小时前
听说拍照的人会拿相似的鱼皮豆代替野生鹌鹑蛋拍照(防原创)
网络·人工智能·计算机网络·生活
徐子元竟然被占了!!1 小时前
批处理脚本-命令
服务器