ubuntu 上将请求定向到不同端口上的本地主机的最简单方法是什么?

What is the easiest way on ubuntu to direct a request to a localhost on a different port?

我正在 ubuntu 虚拟盒子图像上设置开发环境。我有 2 个应用程序,它们通常部署在具有不同端口的不同应用程序服务器上:

在虚拟映像上,我只想部署 1 个带有 2 个 war 的应用服务器,以避免 2 个带有 2 个独立端口的应用服务器的内存开销。从长远来看,这实际上就像 10 个应用程序,因此需要将它们全部保存在 1 个服务器上。

我目前的策略是我正在使用 /etc/hosts 将绑定到 a.myapp.com 的任何请求定向回本地主机,并且它对应用程序 A 运行良好。我想对 [=41 做类似的事情=]:7002 但端口不同,据我所知,我无法设置主机文件来更改端口。

在 ubuntu 中将绑定到 b.myapp.com:7002 的网络请求转发回 127.0.0.1:7001 上的单个应用程序服务器 运行 的最简单方法是什么。我是否使用像 nginx 这样的 Web 代理,是否使用端口转发等?我有点 linux 菜鸟所以要温柔。我的主要驱动力是保持资源最少。 nginx 可能会占用更多资源,但从长远来看可能会派上用场,因此可以选择。

原来是使用 nginx 和主机文件的组合的简单解决方案。

1).将两个域添加到 /etc/host 文件

  • 127.0.0.1a.myapp.com
  • 127.0.0.1b.myapp.com

2).在 nginx.config

的 http 部分下安装 nginx 并定义一个服务器(反向代理)
    server {
        listen 7002;
        #listen 7003; in future I can add N number ports for nginx to listen on
        #listen 7004; in future I can add N number ports for nginx to listen on
        location / {
            proxy_pass http://127.0.0.1:7001/;
        }
    }

结果是:

  • 当我转到 a.myapp.com:7001 时,hosts 文件强制它解析为 127.0.0.1:7001
  • 当我转到 b.myapp.com:7002 时,主机文件将其解析为 127.0.0.1:7002
    • nginx 正在侦听 127.0.0.1:7002 并充当 127.0.0.1:7001 的反向代理
  • 将来我可以让相同的服务器将端口 7003/7004 上的请求重定向到端口 7001