dee*_*ndz 5 port mongodb node.js google-compute-engine
我已经使用 Google Compute Engine 平台设置了 VPS。在这个实例中,我建立了一个 MongoDB 数据库,该数据库在本地托管在默认端口 21017。我还建立了一个基于 REST API 的 NodeJS 服务器,并快速侦听端口 8080 上的连接。
现在,我只能在内部访问 NodeJS 站点。如何将 VPS 端口 8080 暴露给外部 IP 地址,以便我可以在任何地方访问 API?
我尝试按照这篇文章的答案进行操作:Enable Access Google Compute Engine Instance Via HTTP Port。
但这并没有解决我的问题
默认情况下,Google Compute Engine 防火墙会阻止所有传入虚拟机的流量(即传入网络流量)。如果您的 VM 是在默认网络上创建的,则允许使用 22 (ssh)、3389 (RDP) 等少数端口。
推荐的方法是创建一个防火墙规则,允许8080包含您选择的特定标签的虚拟机的端口。然后将此标签关联到您希望允许进入的 VM 上8080。
如果使用gcloud,则可以使用以下步骤执行此操作:
# Create a new firewall rule that allows INGRESS tcp:8080 with VMs containing tag 'allow-tcp-8080'
gcloud compute firewall-rules create rule-allow-tcp-8080 --source-ranges 0.0.0.0/0 --target-tags allow-tcp-8080 --allow tcp:8080
# Add the 'allow-tcp-8080' tag to a VM named VM_NAME
gcloud compute instances add-tags VM_NAME --tags allow-tcp-8080
# If you want to list all the GCE firewall rules
gcloud compute firewall-rules list
Run Code Online (Sandbox Code Playgroud)
这是另一个堆栈溢出答案,它会引导您了解如何使用 Cloud Console Web UI(除了gcloud)允许特定端口上的入口流量进入您的虚拟机。
您链接的答案仅描述了如何分配静态 IP 地址并将其分配给您的 VM。此步骤独立于防火墙规则,因此如果您想使用静态 IP 地址,可以结合使用。
| 归档时间: |
|
| 查看次数: |
12330 次 |
| 最近记录: |