端口 80 上的 Jetty 列表用于通常位于另一个端口上的应用程序

Jetty list on port 80 for application which would usually be on another port

我认为我的问题可能是不知道要查找什么(或术语),所以希望这也能帮助未来遇到类似问题的人。

我在 Jetty 上有一个 webapp 运行,在 webapps 目录中使用 .war 部署,假设它是:

mydomain.com/foo

所以 .war 文件被命名为 "foo.war".

我还有一些服务器在另一个端口上侦听,比如端口 9000。我想通过端口 80 访问它,但 Jetty 正在使用该端口。它是一个 HTTP 服务器,但它监听的端口是 9000(而且我无法更改)。

是否可以让 mydomain.com/bazlocalhost:9000 中继数据,然后通过端口 80 返回客户端? 当然,这需要通过80端口来完成,因为对外只有80端口可用,而jetty已经在监听80端口了。

我想这看起来像:

Client -> mydomain.com:80/baz -> mydomain.com:9000 -> mydomain.com:80/baz -> Client

几乎像一个"iframe",只是一个iFrame当然需要客户端请求mydomain.com:9000,这是不对外开放的。

您可能会发现设置 Apache httpd 很简单,它使用 http 代理在端口 80 上提供一组 URL 到 "clients",但它实际上向非幕后的标准端口。

Nginx 大概也可以做到这一点。

从这里开始 - http://httpd.apache.org/docs/2.2/mod/mod_proxy.html