【问题标题】:How to set up SSL on an embedded Jetty?如何在嵌入式 Jetty 上设置 SSL?
【发布时间】:2011-05-19 04:06:46
【问题描述】:
我已经嵌入了 jetty 7.x。基本上只是创建一个 SelectChannelConnector 来监听端口 80 和 WebAppContext 来部署单个 WAR 目录。
我现在需要添加 SSL(所有密钥库的东西都已完成),我猜想只是添加一个 SslSelectChannelConnector,但所有方法都已被弃用,没有任何 javadocs 来解释原因以及该怎么做。 Jetty/SSL 文档只显示了一些 XML,没有描述如何处理它。
谁能让我在这里设置 SSL 一个嵌入式 Jetty 实例的入口点?我不认为这会很复杂,我只是不知道在当前版本中从哪个类开始。
【问题讨论】:
标签:
ssl
jetty
embedded-jetty
【解决方案1】:
来自 Jetty 用户电子邮件组的回复:
大卫,
你需要创建一个实例
SslContextFactory 并配置它
使用您的密钥库参数。后
你需要传递那个实例
到 SslSelectChannelConnector 的
构造函数。最近修改
配置文件 jetty-ssl.xml 显示
它是如何在 XmlConfiguration 中完成的,
并且可以很容易地翻译成
代码。这将记录在 Jetty
一有机会就去维基。
-迈克尔
【解决方案2】:
我一直在使用它,到目前为止它对我来说效果很好:
//Set up SSL keystore
SslContextFactory sslContextFactory = new SslContextFactory("/etc/mykeystore");
sslContextFactory.setKeyStorePassword("yourpassword");
SslSelectChannelConnector selectChannelConnector = new SslSelectChannelConnector(sslContextFactory);
selectChannelConnector.setPort(4567); //your port