Google Compute Engine - 如何打开端口8080进行外部HTTP通信?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (756)

我正在尝试在GCE VM上打开端口8080。通过阅读有关堆栈溢出的文档和其他类似问题,它应该像创建防火墙规则一样简单。我已经这样做了,当我尝试从外部访问此端口时仍然看到“连接被拒绝”错误。例如,如果外部IP地址是12.345.67.890,当我尝试从此VM或其他计算机打开http://12.345.67.890:8080时,出现“连接被拒绝”错误。

“dev-allow-all”是我创建的规则

“dev-allow-all”规则应允许从任何IP地址访问8080。

我已经尝试过的事情来解决这个问题:

  1. 启用对GC主控室的“VM实例详细信息”页面的HTTP和HTTPS访问
  2. 为网络的“外部IP”创建静态IP地址
  3. netstat在端口8080上显示AS LISTEN
  4. 创建了以下iptables条目 -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
  5. 重启VM :)

我很感激你的经历,谢谢!

UPDATE

提供规则的屏幕截图:

我根据答案创建了规则“dev-allow-8080-traffic”,它没有目标/源过滤器。我仍然得到“拒绝连接”

提问于
用户回答回答于

您好,您可以编辑防火墙规则以启用此端口。

请尝试此步骤并解决您的问题:

  1. 转到实例并选择实例目标。在这个窗口中搜索西班牙语的NetworkLabel是Etiquetas de red,请看上面的图片:

请在剪贴板中复制标签名称。

  1. 转到防火墙规则:https: //console.cloud.google.com/networking/firewalls/

2.1选择项目,然后单击添加新防火墙规则。

2.2添加规则名称

2.3在目标列表上选择标签并粘贴标签

2.4在ip范围字段集0.0.0.0/0上

2.5在协议和端口上输入tcp:8080

2.6保存规则

这张图片是我规则的ilustrate配置:

用户回答回答于

在您的规则定义中,尝试将“目标”更改为“网络中的所有实例”。这不是安全预期的推荐方法,但它至少可以让您了解它是防火墙配置还是其他一些问题。

所属标签

可能回答问题的人

  • 嗨喽你好

    7 粉丝480 提问9 回答
  • 富有想象力的人

    3 粉丝0 提问7 回答
  • uncle_light

    5 粉丝518 提问6 回答
  • 人生的旅途

    10 粉丝484 提问6 回答

扫码关注云+社区

领取腾讯云代金券