![为什么 HTTP 请求被忽略?](https://linux22.com/image/1302901/%E4%B8%BA%E4%BB%80%E4%B9%88%20HTTP%20%E8%AF%B7%E6%B1%82%E8%A2%AB%E5%BF%BD%E7%95%A5%EF%BC%9F.png)
我有以下网络:
· openbsd 5.0 网络服务器 (LAN)
· windows 7 (LAN)
· 我的 ISP 提供的路由器 (LAN, WAN)
· 手机未连接到网络 (WAN)
更新
作为 LAN,我指的是具有 192.168.1.x 地址的家庭网络,因此这里指的是 openbsd 和 windows。作为 WAN,我指的是 Internet 或公共 IP。路由器是 Internet 和我家之间的连接点。
我的 Web 应用程序是用 Python 编写的,并使用 Cherrypy 作为 Web 框架。从 Windows 机器上,我可以看到网页,并从主页导航到由 OpenBSD 提供的所有页面。这意味着家庭网络 Web 请求一切都运行正常。
我做的下一步是打开路由器端口,以便从外部访问 Web 服务器。在重定向到 openbsd 计算机之前,我使用我的 Windows 计算机作为 Web 服务器进行了测试,使用我的手机作为客户端(意味着可以从互联网访问 Windows 计算机)运行正常。将重定向从 Windows 服务器更改为 openbsd 服务器会中断互联网访问,但从家庭网络一切正常。
所以,我的问题是我无法从互联网访问 openbsd。我不知道发生了什么,但我认为 openbsd 拒绝了外部连接。我在 google 上搜索了这个问题,找到了一些关于 pf 的链接,但在我的 openbsd 上被禁用了。我还找到了如何使用 netstat 工具获取信息,当我从互联网发出请求时不显示任何内容,但当请求来自家庭网络时会显示所有连接。
我的问题是:
- 我如何知道是否有来自互联网的传入连接?
- 除了 pf 还有其他工具可以阻止外部连接吗?
提前致谢。
答案1
尝试
netstat -tunl
要显示所有监听套接字(我猜它应该在 openbsd 上工作),您可能需要检查 Web 服务器是否正在运行(端口 80)。如上所述,仔细检查您的 NAT 转换(在您的路由器上 -> 80 -> openbsdip:80
再检查一下 pf,你可能有一些服务器防火墙规则(拒绝所有来自外部局域网的访问)
答案2
问题出在路由器上使用的端口上。8080 这个数字必须保留给某个我不知道的东西。我已将其更改为 8010,并且工作正常。