SimpleHTTPserver 外部网络无法访问

SimpleHTTPserver 外部网络无法访问

我已经在 kali linux 上设置了一个简单的 http 服务器,监听端口 8000,命令如下: python -m SimpleHTTPServer 8000

我已经通过手机(连接到同一网络)测试了服务器,方法是192.168.1.59:8000在网络浏览器上输入:。它运行正常。

当我尝试从网络外部访问它时出现问题。我已经在路由器上为 IPv4 的 UDP 和 TCP 打开了端口 8000。192.168.1.59当我获取我的公共 IP 地址并以与之前相同的方式搜索它时,mypublicIP:8000它输出以下错误: 连接超时错误

经过一番调查,我发现问题可能出在我的防火墙上(当时我还没有安装防火墙)。所以我安装了 ufw apt-get install ufw。并允许端口 8000 ufw allow 8000。但它仍然给我带来了同样的问题!

我对我的公共 IP 进行了 nmap 扫描,结果显示以下内容:8000/tcp filtered http-alt。难道不应该打开显示吗?我做错了什么?

答案1

事实证明,这是路由器的 Hairpin NAT 问题。许多消费级路由器不支持此功能,因此我不得不在网络内部使用主机的内部 IP,在网络外部使用外部 IP。

感谢@Attie

答案2

为什么不使用 Apache2 或 Nginx 等 Web 服务器?请安装 Web 服务器,然后尝试从网络外部访问它。如果这样做,可能会成功。

笔记:您应该采取一些安全措施来使您的 Web 服务器更安全。例如,如果您已经安装了 Apache2,请打开其主配置文件,并在其中添加以下几行:

ServerTokens Prod
ServerSignature Off

上面的几行将禁止 Apache 显示其版本、您正在使用的操作系统等等。

希望我的回答能帮到你

相关内容