如何使用 Google Cloud Compute Engine 为 Node.JS 应用程序配置端口转发
How to configure Port Forwarding with Google Cloud Compute Engine for a Node.JS application
我正在尝试为托管在 Google 云计算引擎(Ubuntu 和 Nginx)上的 Node.js 应用程序配置端口转发(端口 80 到端口 8080)。
我的最终目标是让 url 像 "api.domain.com" 显示与 "api.domain.com:8080" 完全相同的东西(:8080 实际上有效)。
但是因为是Google平台上的虚拟服务器,不知道能做什么样的配置。
我尝试了这些解决方案但没有成功(可能是因为它是 Google 云环境):
- Forwarding port 80 to 8080 using NGINX
- Best practices when running Node.js with port 80 (Ubuntu / Linode)
这里有两个问题:
1.Where我需要配置端口转发?
- 直接在我的 Ubuntu 实例中使用 Nginx 或 Linux 配置文件?
- 使用 gcloud 命令?
- 在 console.cloud.google.com 的 UI 的一个秘密地方?
2.What 我需要保存的设置或配置?
一种可能是使用 Google 云负载平衡器。
https://cloud.google.com/load-balancing/docs/
1) 创建监听 8080 端口的后端服务
2) 创建监听端口 80 的前端服务
3) 然后在此后端服务上转发前端流量
4) 奖励:您可以创建由 GCP 自动管理的 ssl 证书 https://cloud.google.com/load-balancing/docs/ssl-certificates#managed-certs
为了未来读者的利益,我在这里了解如何配置端口转发。
您需要确保 Google 平台上的防火墙配置正确。按照此处详细描述的过程进行操作:Google Cloud - Configuring Firewall Rules。您需要确保端口 80(或 HTTPS 的 443)和您的 Node.JS 端口(例如我的 8080)已打开。
您需要直接在服务器上配置端口转发。据我所知,与防火墙规则相反,这不是您可以在 Google 云平台 UI 中进行的配置。就我而言,我需要编辑位于以下位置的 Nginx 配置文件:/etc/nginx/sites-available/default.
使用此示例作为参考来编辑您的 Nginx 配置文件:nginx config for http/https proxy to localhost:3000
编辑完成后,您需要使用此命令重新启动 Nginx 服务:sudo systemctl restart nginx
使用以下命令验证 Nginx 服务的状态:sudo systemctl status nginx
您的端口应该正确重定向到您的 Node.js 应用程序。
感谢@John Hanley 和@howie 对 Nginx 配置的指导。
编辑:这个解决方案仍然有效,但接受的答案更容易。
我正在尝试为托管在 Google 云计算引擎(Ubuntu 和 Nginx)上的 Node.js 应用程序配置端口转发(端口 80 到端口 8080)。
我的最终目标是让 url 像 "api.domain.com" 显示与 "api.domain.com:8080" 完全相同的东西(:8080 实际上有效)。
但是因为是Google平台上的虚拟服务器,不知道能做什么样的配置。
我尝试了这些解决方案但没有成功(可能是因为它是 Google 云环境):
- Forwarding port 80 to 8080 using NGINX
- Best practices when running Node.js with port 80 (Ubuntu / Linode)
这里有两个问题:
1.Where我需要配置端口转发?
- 直接在我的 Ubuntu 实例中使用 Nginx 或 Linux 配置文件?
- 使用 gcloud 命令?
- 在 console.cloud.google.com 的 UI 的一个秘密地方?
2.What 我需要保存的设置或配置?
一种可能是使用 Google 云负载平衡器。 https://cloud.google.com/load-balancing/docs/
1) 创建监听 8080 端口的后端服务
2) 创建监听端口 80 的前端服务
3) 然后在此后端服务上转发前端流量
4) 奖励:您可以创建由 GCP 自动管理的 ssl 证书 https://cloud.google.com/load-balancing/docs/ssl-certificates#managed-certs
为了未来读者的利益,我在这里了解如何配置端口转发。
您需要确保 Google 平台上的防火墙配置正确。按照此处详细描述的过程进行操作:Google Cloud - Configuring Firewall Rules。您需要确保端口 80(或 HTTPS 的 443)和您的 Node.JS 端口(例如我的 8080)已打开。
您需要直接在服务器上配置端口转发。据我所知,与防火墙规则相反,这不是您可以在 Google 云平台 UI 中进行的配置。就我而言,我需要编辑位于以下位置的 Nginx 配置文件:/etc/nginx/sites-available/default.
使用此示例作为参考来编辑您的 Nginx 配置文件:nginx config for http/https proxy to localhost:3000
编辑完成后,您需要使用此命令重新启动 Nginx 服务:
sudo systemctl restart nginx
使用以下命令验证 Nginx 服务的状态:
sudo systemctl status nginx
您的端口应该正确重定向到您的 Node.js 应用程序。
感谢@John Hanley 和@howie 对 Nginx 配置的指导。
编辑:这个解决方案仍然有效,但接受的答案更容易。