如何启用对托管在 GCP VM 实例上的 Web 服务的访问
How to enable access to a web service hosted on GCP VM instance
我构建了一个 Web 应用程序,它使用 .netcore(VS 中的默认应用程序)在端口 5000 上运行和侦听。
我在 GCP 上创建了一个 VM 实例,并在配置中允许了 http 和 https 流量。
我 运行 应用程序,并使用外部 ip(我成功 ping 通了)从浏览器访问它:
http://:5000
但是我没有得到任何回应,这应该已经打开了网站。
我添加了防火墙规则以允许流量,但仍然没有帮助:
我相信很多人都遇到过这个,有帮助吗?
防火墙正在丢弃您的流量。
您应该打开端口 5000,而不是 http(端口 80)或 https(端口 443)。
我和@Iñigo的看法一样,可能是防火墙问题
您可以使用以下命令创建规则:
gcloud compute --project=my-project firewall-rules create rule-for-netcore --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:5000 --source-ranges=0.0.0.0/0
输出应该是这样的:
Creating firewall...⠹Created [https://www.googleapis.com/compute/v1/projects/my-project...l/firewalls/rule-for-netcore].
Creating firewall...done.
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED
rule-for-netcore default INGRESS 1000 tcp:5000 False
编辑 1
您还需要在 windows 防火墙中打开端口:
- 从开始菜单中,单击控制面板,单击系统和安全,然后然后点击Windows防火墙。控制面板没有配置'Category'查看,你只需要selectWindows防火墙.
- 单击高级设置。
- 单击入站规则。
- 在操作中单击新规则 window。
- 单击端口的规则类型。
- 单击“下一步”。
- 在 协议和端口 页面上单击 TCP。
- Select 特定本地端口 并键入类似 5000-5010 的值(这只是您需要添加所需端口的示例)
- 单击“下一步”。
- 在“操作”页面上单击允许连接。
- 单击“下一步”。
- 在配置文件 页面上单击适合您的环境的选项。
- 单击“下一步”。
- 在“名称”页面上输入一个名称,例如“Open port for test”
- 单击“完成”。
- 重新启动 实例。
最后你会看到这样的规则:
您可以参考以下link获取更多信息
我构建了一个 Web 应用程序,它使用 .netcore(VS 中的默认应用程序)在端口 5000 上运行和侦听。 我在 GCP 上创建了一个 VM 实例,并在配置中允许了 http 和 https 流量。 我 运行 应用程序,并使用外部 ip(我成功 ping 通了)从浏览器访问它: http://:5000
但是我没有得到任何回应,这应该已经打开了网站。
我添加了防火墙规则以允许流量,但仍然没有帮助:
防火墙正在丢弃您的流量。 您应该打开端口 5000,而不是 http(端口 80)或 https(端口 443)。
我和@Iñigo的看法一样,可能是防火墙问题
您可以使用以下命令创建规则:
gcloud compute --project=my-project firewall-rules create rule-for-netcore --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:5000 --source-ranges=0.0.0.0/0
输出应该是这样的:
Creating firewall...⠹Created [https://www.googleapis.com/compute/v1/projects/my-project...l/firewalls/rule-for-netcore].
Creating firewall...done.
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED
rule-for-netcore default INGRESS 1000 tcp:5000 False
编辑 1
您还需要在 windows 防火墙中打开端口:
- 从开始菜单中,单击控制面板,单击系统和安全,然后然后点击Windows防火墙。控制面板没有配置'Category'查看,你只需要selectWindows防火墙.
- 单击高级设置。
- 单击入站规则。
- 在操作中单击新规则 window。
- 单击端口的规则类型。
- 单击“下一步”。
- 在 协议和端口 页面上单击 TCP。
- Select 特定本地端口 并键入类似 5000-5010 的值(这只是您需要添加所需端口的示例)
- 单击“下一步”。
- 在“操作”页面上单击允许连接。
- 单击“下一步”。
- 在配置文件 页面上单击适合您的环境的选项。
- 单击“下一步”。
- 在“名称”页面上输入一个名称,例如“Open port for test”
- 单击“完成”。
- 重新启动 实例。
最后你会看到这样的规则:
您可以参考以下link获取更多信息