让我的网络服务器从外部设备工作的问题

Issue getting my web server to work from external devices

我正在尝试在我的 raspberry pi 上设置一个 apache2 网络服务器。我可以通过 http://localhost:8080 (8080 because my router blocks port 80). Although when I do http://my.pub.lic.ip:8080 连接超时来连接到它。我设置了端口转发,以便在端口 8080 上发送到我的路由器的请求转到我在端口 8080 上的 raspberry pi。这似乎不起作用,但我也不确定端口转发是否是原因,或者如果它是别的东西。有什么建议吗?

您可以通过查找路由器的 public IP 并在 raspberry pi 上键入 nmap my.pub.lic.ip 来尝试使用 nmap 这将向您显示实际向世界发布的服务。这样可以更深入地了解问题。

您的 Web 服务器是否配置为侦听本地主机以外的网络接口?

https://httpd.apache.org/docs/2.4/bind.html

例如,要使服务器在所有接口上同时接受端口 80 和端口 8000 上的连接,请使用:

    Listen 80
    Listen 8000

要使服务器在一个接口上接受端口 80 上的连接,在另一个接口上接受端口 8000 上的连接,请使用

    Listen 192.0.2.1:80
    Listen 192.0.2.5:8000

我启动了网络服务器 运行 尽管出于某种原因,我的 isp 似乎只允许安全托管它(作为 https 页面)(我不确定这是否正确表达方式)。为了免费实现这一点,我使用了 cloudflare 的 ssl 服务。可以找到为 apache2 设置它的教程 here