【发布时间】:2020-03-14 02:39:43
【问题描述】:
今天尝试用谷歌云平台做博客。
所以,我制作了一个计算机引擎实例并在 Ubuntu 16 上安装了 Apache2。
然后,单击外部 IP 地址,但它显示“连接被拒绝..”
为什么会这样?
我也允许 HTTPS % HTTP 流量。
而且我找不到像 AWS 的安全组这样的菜单...
所以,这个问题让我很恼火……
(我不是英语母语,所以文档很难阅读。请给我一个提示)
【问题讨论】:
今天尝试用谷歌云平台做博客。
所以,我制作了一个计算机引擎实例并在 Ubuntu 16 上安装了 Apache2。
然后,单击外部 IP 地址,但它显示“连接被拒绝..”
为什么会这样?
我也允许 HTTPS % HTTP 流量。
而且我找不到像 AWS 的安全组这样的菜单...
所以,这个问题让我很恼火……
(我不是英语母语,所以文档很难阅读。请给我一个提示)
【问题讨论】:
TL;DR - 您需要使用防火墙规则打开端口以允许进入您的虚拟机的流量。
Google Compute Engine (GCE) blocks all traffic to your VMs by default 用于确保您的基础架构安全。您可以根据需要打开端口并自行管理安全性。默认创建的网络在允许来自网络中其他虚拟机的流量方面几乎没有例外,但仍然不允许来自网络外部的流量。
Firewalls
每个 VPC 网络都有自己的防火墙来控制对 实例。
到实例的所有流量,甚至是来自其他实例的流量,都被 防火墙,除非创建防火墙规则以允许它。例外 是每个自动创建的默认 VPC 网络 项目。此网络有一定的自动创建default firewall rules。
对于除自动创建的
defaultVPC 之外的所有 VPC 网络 网络,您必须创建所需的任何防火墙规则。允许 手动创建的 VPC 网络上的传入网络连接,您 需要设置防火墙规则以允许这些连接。每个 防火墙规则代表一个单一的规则,它决定什么 允许连接进入或离开实例。有可能的 有许多规则,并与这些规则一样笼统或具体 根据您的需要。例如,您可以创建一个防火墙规则,允许 通过端口 80 到所有实例的所有流量,或者您可以创建规则 只允许从一个特定 IP 或 IP 范围到一个 具体实例。防火墙规则是连接跟踪,因此只调节 初始连接。一旦与 例如,允许双向通行 连接。
既然你在 Ubuntu 上说 apache2 包,我在这里分享的说明将指导你如何在你的 VM 上打开端口 80 并使其可以通过 VM 的公共 IP 访问。您可以根据需要对任何其他端口执行相同操作。
tcp:80 的入口流量进入您的 VM# Create a new firewall rule that allows INGRESS tcp:80 with VMs containing tag 'allow-tcp-80'
gcloud compute firewall-rules create rule-allow-tcp-80 --source-ranges 0.0.0.0/0 --target-tags allow-tcp-80 --allow tcp:80
# Add the 'allow-tcp-80' tag to a VM named VM_NAME
gcloud compute instances add-tags VM_NAME --tags allow-tcp-80
# If you want to list all the GCE firewall rules
gcloud compute firewall-rules list
tcp:80 的入口流量进入您的 VMMenu -> Networking -> Firewall RulesCreate Firewall Rule为防火墙规则选择以下设置:
Name 用于规则 - rule-allow-tcp-80 或您喜欢的任何其他名称用于此防火墙规则。Direction 是 ingress
Action on match 是 Allow
Targets 是 Specified target tags
Target tags 是 allow-tcp-80
Source IP ranges 是 0.0.0.0/0(或者,如果您有一组 IP 范围,您知道将是唯一可以访问它的,请使用它们来加强限制)Protocols and ports 是 tcp:80
Create 按钮以创建此防火墙规则。创建上述防火墙规则后,您需要将标签allow-tcp-80 添加到需要应用此规则的所有实例中。在你的情况下:
VM Instances 页面VM instance details 页面中,选择最顶部的Edit 链接。Network Tags 框中,输入allow-tcp-80 以将标记应用于此实例。Save 保存更改。现在给它几秒钟到几分钟的时间让更改生效,您将能够访问 jenkins 网页 URL。
您还可以浏览Firewall rules 的文档,以更好地了解它们的工作原理以及如何配置它们。
警告:通过使用0.0.0.0/0 的源范围,您将VM 上的端口开放给整个互联网。这使世界上任何地方的客户端都可以连接到在此端口上运行的应用程序。请充分了解这样做的安全隐患。
【讨论】: