Python WebSocket服务器端口8080已开启但检测显示关闭的问题求助
问题解决:WebSocket服务器无法被外部访问
你的核心问题在于WebSocket服务器仅绑定了localhost(127.0.0.1),这意味着服务器只监听本地回环接口,外部请求无法到达。
修复步骤
修改服务器绑定地址
找到代码中的启动语句:start_server = websockets.serve(server, "localhost", 8080, ssl=ssl_context, origins="*")将
"localhost"替换为"0.0.0.0",这样服务器会监听所有可用的网络接口:start_server = websockets.serve(server, "0.0.0.0", 8080, ssl=ssl_context, origins="*")验证端口监听状态
重启服务器后,执行以下命令确认端口是否正确监听:ss -tulpn | grep 8080输出中应该包含
0.0.0.0:8080或:::8080,表示端口已对外开放。额外检查项
- 确认ufw规则生效:执行
sudo ufw status,确保8080/tcp处于允许状态。 - 云服务器防火墙:如果你的服务器是云服务商提供的,需要在服务商控制台中配置安全组,开放8080端口的入站规则。
- 测试WebSocket连接:可以使用
wscat工具测试连接(先安装:npm install -g wscat):
若连接成功,即可正常交互。wscat -c wss://你的服务器IP地址:8080
- 确认ufw规则生效:执行
内容的提问来源于stack exchange,提问作者XYBOX
相关产品推荐
相关产品推荐

