监听多个端口仅适用于 localhost,不适用于服务器的外部 ip

监听多个端口仅适用于 localhost,不适用于服务器的外部 ip

我在 Google 计算引擎上运行 apache,并按照以下步骤操作:http://www.groovypost.com/howto/apache/configure-apache-web-site-to-use-multiple-ports/

使我的网站能够接受除默认 port80 之外的多个端口,但似乎它仅适用于 localhost 而不适用于我的 ip 地址:

我用过telnet localhost 8080,而且有效,但为什么用的时候telnet <my-external-ip-address> 8080却不起作用。我能知道原因吗?

答案1

在 httpd.conf 文件中,如果您已给出 Listen as:

    Listen localhost:8080

更改为:

    Listen 8080

然后它将把服务器套接字绑定到系统上所有可用的 IP 地址。如果不是这种情况,请尝试查看 IP 表。

答案2

您必须在 Google 云防火墙中打开端口 8080 才能解决此问题。

要在 Google Cloud 中打开防火墙,请转到:

  1. 菜单
  2. 联网
  3. 防火墙规则
  4. 创建防火墙
    源ip添加0.0.0.0
    端口添加tcp:8080

注意:如果您在目标标签中留空,它将在所有 vm 中启用,因此如果您想添加标签,请指定该标签并通过编辑 vm 在 vm 中添加相同的标签。

相关内容