如何在嵌入式Jetty上设置SSL?
问题描述:
我有jetty 7.x嵌入式。基本上只需创建一个SelectChannelConnector来侦听端口80和WebAppContext来部署单个WAR目录。如何在嵌入式Jetty上设置SSL?
我需要现在添加SSL(所有keystore的东西都完成了),而且我已经猜到了只需添加一个SslSelectChannelConnector,但是所有方法都被弃用,没有任何javadoc来解释原因以及做什么。 Jetty/SSL文档仅显示一些XML,而未描述如何处理它。
任何人都可以让我在这里设置SSL的一个嵌入式实例的Jetty?我不认为这会很复杂,我只是不知道在当前版本中从什么类开始。
答
从码头用户的电子邮件A组回应:
大卫,
您需要创建 SslContextFactory的实例,并配置它 与您的密钥存储参数。在 之后,您需要将该实例 传递给SslSelectChannelConnector的 构造函数。最近修改的 配置文件jetty-ssl.xml显示 它是如何在XmlConfiguration中完成的, 可以很容易翻译成 的代码。一旦我们有机会,这将在Jetty Wiki中记录。
-Michael
答
我一直在使用这一点,它为我工作得很好迄今:
//Set up SSL keystore
SslContextFactory sslContextFactory = new SslContextFactory("/etc/mykeystore");
sslContextFactory.setKeyStorePassword("yourpassword");
SslSelectChannelConnector selectChannelConnector = new SslSelectChannelConnector(sslContextFactory);
selectChannelConnector.setPort(4567); //your port