弹跳靴与码头9和ssl

时间:2014-02-11 16:48:01

标签: ssl jetty spring-boot

我已经遵循Spring Boot设置并且可以轻松地使用SSL运行Tomcat,但是我想使用Jetty并且那里没有很少的文档。我可以访问JettyEmbeddedServletContainerFactory,但它不使用相同的接口方法来访问配置。

有没有人有幸在spring boot中配置jetty 9来使用SSL?我发现了一个类似的问题here,并想知道是否有人解决了这个问题。

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:4)

所以最近有一个问题发布到Spring Boot(我在这里或之前的那天或之前,很好的时机),通过GitHub请求支持。他们有一个这样的工作的例子,以及一个例子,说明它将在他们将要做的新提交之后如何工作。我正在使用前者,它工作正常。看起来您可以获得最新的来源或等待另一个发布/里程碑。

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);
        }
    };
}

答案 1 :(得分:0)

您使用maven作为构建系统吗?如果是这样,您可以检查此pom.xml工件 - http://bghints.blogspot.com/2012/03/client-authentication-with-ssl_28.html

博客文章是针对码头6.对于码头9,有一个区别。组ID必须更改为:

org.mortbay.jetty

org.eclipse.jetty

我希望这会对你有所帮助。