如何使用Jetty插件在Grails应用程序中启用SSL

时间:2016-10-18 14:27:29

标签: ssl grails jetty grails-plugin

我正在尝试为使用Jetty插件的应用程序启用SSL。

我已经关注https://wiki.eclipse.org/Jetty/Howto/Configure_SSL并使用JAVA keytool创建了我的密钥和证书,但到目前为止还没有运气。

请帮我在本地使用https运行我的应用程序,或者为我提供一些很好的参考来实现我的目标。

我已经创建了自定义配置

如下图所示

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">

<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <Call name="addConnector">
    <Arg>
      <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
        <Arg>
          <New class="org.eclipse.jetty.http.ssl.SslContextFactory">
            <Set name="keyStore">/keystore-ssl.jks</Set>
            <Set name="keyStorePassword">password</Set>
            <Set name="validateCerts">false</Set>
          </New>
        </Arg>
        <Set name="port">8443</Set>
        <Set name="maxIdleTime">30000</Set>
      </New>
    </Arg>
  </Call>
</Configure>

我收到错误

oejx.XmlConfiguration:main: Config error at <Call name="addConnector"><Arg>|
java.lang.ClassNotFoundException: org.eclipse.jetty.server.ssl.SslSelectChannelConnector
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.jetty.util.Loader.loadClass(Loader.java:86)

1 个答案:

答案 0 :(得分:0)

这有助于我实现目标。

https://www.blackpepper.co.uk/blog/jetty-runner-https-xml-configuration

只需将所需的xml内容放入jetty-server.xml

即可