Windows 10上托管的Flask-SocketIO服务器在本地网络外部时,除端口80以外的所有端口均可使用

问题描述 投票:0回答:1

我正在尝试在Windows计算机上托管flask-socketio服务器(目前仅用于学习目的,稍后将其移至Raspberry Pi),这对flask来说还很陌生。在尝试从本地网络外部访问服务器之前,一切都进行得很顺利。

服务器正在使用以下代码运行,因为许多其他StackOverflow帖子已经解释了必要:

if __name__ == '__main__':
   socketio.run(app, debug=False, host='0.0.0.0', port=80)

我已经正确转发了端口,并且可以通过我的全局ip,本地(192.168.X.X)地址或本地主机在我自己的网络(在all端口上)看到服务器。如果服务器托管在端口80以外的任何端口上,包括烧瓶默认值5000,则对外部用户也可见。但是,如果托管在端口80上,则外部不可见。

我已经对端口80和python可执行文件的Windows防火墙入站规则进行了广泛的实验。我无法排除的唯一原因与Windows 10阻止入站端口80连接的特定操作有关。该机器上没有其他竞争服务器在运行,并且在这里提到的任何设置/连接中python / Flask-SocketIO都不会引发任何错误。

问题:关于Flask-SocketIO或Windows系统,我根本找不到任何陷阱吗?我应该研究“链”的其他哪些部分以进行诊断?

python flask server network-programming flask-socketio
1个回答
0
投票

正如对原始问题的评论所暗示的,这种情况表明ISP阻止了所使用的端口,特别是在其他端口号小于1000的情况下起作用的情况(否则,这将暗示某个地方出现了防火墙问题)。

经过与我的ISP的长时间通话后,我发现端口80和25确实被阻塞。

© www.soinside.com 2019 - 2024. All rights reserved.