我有一个服务器 JAR,每个客户部署一次,它是他们软件包的 API 服务器。为此,每个 API 实例的端口必须相同,以便针对它进行编程的任何内容都可以找到它。每个实例都部署在不同的域名上
我遇到的问题是,即使使用 SelectChannelConnector 并设置主机属性,我也无法让两个实例同时运行,我收到一个带有“地址已在使用中”的 BindException。
我想我的问题是:Jetty 可以做到这一点吗,或者我是否需要进行一些外部重写,或者有没有更好的方法可以实现相同的目的?
谢谢。
答案1
假设我理解您要做什么,那么最简单的方法似乎是使用 apache 来前置您的 jetty 实例。使用虚拟主机和适当的配置设置 apache,以将每个虚拟主机的请求发送到适当的 jetty 实例。
答案2
也许有点晚了,但是这你在找什么?你将配置一个连接器(因为你正在监听一个端口),但让它响应不同的域名,然后你将每个 webapp 配置为只响应一个域。你甚至可以让它们具有相同的上下文路径,这样你在客户端代码中唯一需要更改的就是域名。