单个SSL上的多个Jetty域

时间:2016-04-14 13:53:29

标签: java ssl jetty ports

我有一台运行Jetty的机器。在那里,我有不同端口上运行的多个jetty实例。例如,我有" live"版本在默认端口80上运行。我还有" R& D"版本在同一台计算机上但在端口2280上运行。这样可以正常工作,但客户端需要添加SSL,因此默认情况下现在将运行443端口。问题是当我尝试同时运行R& D版本将失败,因为它试图映射到443,因为SSL。配置仍然有R& D指向2280但不启动。有没有办法使用单个SSL证书同时运行两个?我尝试在jetty.xml文件中添加连接器,但这不起作用。感谢。

1 个答案:

答案 0 :(得分:0)

您是如何添加连接器的?您绝对可以配置连接器的端口。

我通常以编程方式运行Jetty,我的代码如下:

int httpsPort = ...;
HttpConfiguration httpConfig = new HttpConfiguration();
httpConfig.setSecureScheme("https");
httpConfig.setSecurePort(httpsPort);

SslContextFactory sslContextFactory = new SslContextFactory();
//  configure sslContextFactory: keystore, session timeout, exlcluded protocols etc...

ServerConnector httpsCon = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, "http/1.1"), new HttpConnectionFactory(httpConfig));
httpsCon.setPort(httpsPort);
server.addConnector(httpsCon);

很抱歉,我不知道如何通过XML服务器配置进行配置,但是他们倾向于在XML配置和程序化配置之间进行非常密切的配置。