我正在从命令行尝试命令python http.server,我正在尝试访问服务器。我可以从localhost轻松访问,但每当我尝试使用远程连接时,我都无法连接。
我尝试过不同的端口,看起来我的防火墙不会阻止任何连接。
从命令行,我运行
python3 -m http.server 8000
返回
Serving HTTP on 0.0.0.0 port 8000 ...
但是,我只能从localhost连接到服务器。
sudo iptables -S
返回以下内容:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
我希望能够使用url http://10.247.30.125:8000(我的IP地址)从远程主机连接,但我无法这样做。同一个url在localhost上运行正常。
url中缺少port尝试此url它应该工作“http://10.247.30.125:8000”
我弄清楚发生了什么。做了一些关于IP和NAT的阅读,并注意到任何以10开头的ip地址都是为私有IP地址保留的。所以,尝试从我自己的网络以外的任何地方连接到10.247.30.125:8000(所以虽然没有连接到我的wifi)不起作用。为了能够从外部网络连接,我需要设置端口转发(如建议的Reedinationer),我需要使用我的路由器的公共IP地址而不是我的计算机的私有IP地址。我会从路由器向前设置一个端口,将外部流量引导到我的计算机,这样我就可以从外部网络连接到我的个人计算机。
感谢大家的回应!