我遵循Spring Boot安裝,可以很容易地讓Tomcat運行SSL,但是我想使用Jetty,並且這裏沒有任何文檔。我可以訪問JettyEmbeddedServletContainerFactory
,但它不使用相同的接口方法來訪問配置。Spring jet with jetty 9 and ssl
有沒有人有任何運氣配置jetty 9內部春季啓動使用SSL?我發現了一個類似的問題here,並想知道是否有人解決了這個問題。
任何幫助將是偉大的。
我遵循Spring Boot安裝,可以很容易地讓Tomcat運行SSL,但是我想使用Jetty,並且這裏沒有任何文檔。我可以訪問JettyEmbeddedServletContainerFactory
,但它不使用相同的接口方法來訪問配置。Spring jet with jetty 9 and ssl
有沒有人有任何運氣配置jetty 9內部春季啓動使用SSL?我發現了一個類似的問題here,並想知道是否有人解決了這個問題。
任何幫助將是偉大的。
您是否使用maven作爲構建系統?如果是這樣,你可以檢查這個pom.xml神器 - http://bghints.blogspot.com/2012/03/client-authentication-with-ssl_28.html
博客文章是針對碼頭6.對於碼頭9,有一個區別。組ID必須更改:
org.mortbay.jetty
到
org.eclipse.jetty
我希望這可以幫助你。
因此,最近有一個問題通過GitHub發佈到Spring Boot(我在這裏問了一天或之前,很好的時機),要求支持這個問題。他們有一個這樣的工作的例子,以及在他們將作出新的提交之後這將如何工作的一個例子。我使用前者,而且工作正常。看起來你可以獲得最新的資源,或者等待另一個版本/里程碑。
Here是一個討論鏈接。
這是我的解決方案,但它的工作方式與他們在答案中所說的一樣。我沒有拉他們的提交,所以我使用基礎Jetty API的第一個解決方案。本示例使用Jetty 8和Spring Boot,但是Jetty 9也工作正常。
@Bean
public EmbeddedServletContainerFactory embeddedServletContainerFactory() throws Exception {
return new JettyEmbeddedServletContainerFactory() {
@Override
protected JettyEmbeddedServletContainer getJettyEmbeddedServletContainer(
Server server) {
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStorePath("/usr/local/keystore");
sslContextFactory.setKeyStorePassword("password");
sslContextFactory.setCertAlias("alias");
SslSocketConnector sslConnector = new SslSocketConnector(sslContextFactory);
sslConnector.setPort(8443);
server.setConnectors(new Connector[] { sslConnector });
return super.getJettyEmbeddedServletContainer(server);
}
};
}
感謝您的信息,我試過,但它不是我的Spring MVC容器的完全集成解決方案。我正在尋找一種使用Spring Boot的更加集成的方法。看來Spring Boot沒有添加'JettyServerCustomizer'。它看起來像是最近的一次提交。我有一些工作,我會稍微發佈我的代碼和參考。 – websusk