多个 NodeJS 应用程序转发到端口 80

多个 NodeJS 应用程序转发到端口 80

我有一台运行 CentOS 的服务器。上面运行着一些 NodeJS 应用程序。

例如:

  • example.com:8000 > 我的第一个应用程序
  • example.com:8080 > 第二个应用程序
  • example.com:8888 > 另一个

我遇到的问题是,一些用户阻止了这些端口(防火墙等)。我找到了一些解决方案,例如 iptables,这样您就可以将端口 80 转发到 8000。但我有多个应用程序,所以这对我来说不起作用。

是否可以转发端口 80 并在其后附加路径,例如:

  • example.com/firstapp > example.com:8000
  • example.com/secondapp > example.com:8080
  • example.com/another > example.com:8888

当然这必须有效:

  • example.com/another/users/123 > example.com:8888/users/123

答案1

您应该使用 NGinx 或 Apache2 来执行此操作。我建议使用带有 proxypass 的 NGinx,如下所示:

location /firstapp {
    proxy_pass       http://localhost:8000;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
}

相关内容