【发布时间】:2019-07-13 11:16:52
【问题描述】:
我正在尝试为托管在 Google Cloud Compute Engine(Ubuntu 和 Nginx)上的 Node.js 应用程序配置端口转发(端口 80 到端口 8080)。
我的最终目标是让像“api.domain.com”这样的网址显示与“api.domain.com:8080”完全相同的内容(实际上:8080 有效)。
但是因为是谷歌平台上的虚拟服务器,我不确定能做什么样的配置。
我尝试了这些解决方案但没有成功(可能是因为它是 Google Cloud 环境):
- Forwarding port 80 to 8080 using NGINX
- Best practices when running Node.js with port 80 (Ubuntu / Linode)
这里有两个问题:
1.我需要在哪里配置端口转发?
- 直接在我的 Ubuntu 实例中使用 Nginx 或 Linux 配置文件?
- 使用 gcloud 命令?
- 在 console.cloud.google.com 的 UI 中的一个秘密位置?
2.我需要保存哪些设置或配置?
【问题讨论】:
-
您需要使用代理服务器。常见的是 Nginx 或 Apache。你在使用 Nginx 时遇到了什么问题?另一种选择是使用 Google 负载平衡器。
-
我知道谷歌云会覆盖一些设置,比如防火墙规则,使得一些 Nginx 设置无用。当我尝试编辑我的 Nginx 配置以进行端口转发时,我根本看不到任何更改。所以,我什至不知道我的设置是否不正确,或者 Google 是否覆盖了某些端口规则。
-
除非您提供配置文件、错误信息等,否则我无法帮助您使用 Nginx。解决方案在细节中。
-
根据您的描述“api.domain.com:8080”运行良好,这意味着您的 vm 防火墙规则运行良好。所以我认为你唯一需要做的就是配置你的 nginx 代理 conf 文件。
标签: node.js nginx google-cloud-platform portforwarding google-cloud-networking