当前位置: 首页 > 知识库问答 >
问题:

在Jetty上配置SSL

陆俊迈
2023-03-14

我正在尝试配置我的jetty环境,使其能够有一个安全的连接。

我运行了官方jetty文档中描述的步骤:https://www.eclipse.org/jetty/documentation/9.4.31.v20200723/jetty-ssl-distribution.html。但没有成功..

重新创建的步骤:

  1. java-jar start.jar--create-startd--add-to-start=ssl
  2. java-jar start.jar--add-to-start=ssl,conscrypt
  3. java-jar start.jar--add-to-startd=ssl,https
  4. 使用以下值更新start.d/ssl.ini:
--module=ssl
jetty.ssl.host=0.0.0.0
jetty.ssl.port=8583
jetty.sslContext.keyStorePath=etc/keystore
jetty.sslContext.trustStorePath=etc/keystore
jetty.sslContext.keyStorePassword=OBF:
jetty.sslContext.keyManagerPassword=OBF:
jetty.sslContext.trustStorePassword=OBF:
 #Enable client certificate authentication.
jetty.sslContext.needClientAuth=true

为了生成密钥库,我遵循了以下步骤:

openssl genrsa -des3 -out jetty.key
openssl req -new -x509 -key jetty.key -out jetty.crt
keytool -keystore keystore -import -alias jetty -file jetty.crt -trustcacerts
openssl req -new -key jetty.key -out jetty.csr
openssl pkcs12 -inkey jetty.key -in jetty.crt -export -out jetty.pkcs12
keytool -importkeystore -srckeystore jetty.pkcs12 -srcstoretype PKCS12 -destkeystore keystore

作为最后一步,我对密码进行了模糊处理,并将其更新到start.d/ssl.ini文件中。

2020-09-28 13:51:46.896:INFO::main: Logging initialized @523ms to org.eclipse.jetty.util.log.StdErrLog
2020-09-28 13:51:47.387:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended.  See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html
2020-09-28 13:51:47.414:INFO:oejs.Server:main: jetty-9.4.31.v20200723; built: 2020-07-23T17:57:36.812Z; git: 450ba27947e13e66baa8cd1ce7e85a4461cacc1d; jvm 11.0.8+10-LTS
2020-09-28 13:51:47.460:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///opt/jetty-distribution-9.4.31.v20200723/webapps/] at interval 1
2020-09-28 13:51:47.796:INFO:oejus.SslContextFactory:main: x509=X509@6853425f(jetty,h=[jettyhttp2sample.organicdesign.org],w=[]) for Server@5a9f4771[provider=Conscrypt,keyStore=file:///opt/jetty-distribution-9.4.31.v20200723/etc/keystore,trustStore=file:///opt/jetty-distribution-9.4.31.v20200723/etc/keystore]
2020-09-28 13:51:47.799:INFO:oejus.SslContextFactory:main: Unable to get KeyManagerFactory instance for algorithm [SunX509] on provider [Conscrypt], using default
2020-09-28 13:51:47.882:INFO:oejs.AbstractConnector:main: Started ServerConnector@46c1a1fc{SSL, (ssl, http/1.1)}{localhost:8443}
2020-09-28 13:51:47.886:INFO:oejs.AbstractConnector:main: Started ServerConnector@7b205dbd{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2020-09-28 13:51:47.887:INFO:oejs.Server:main: Started @1514ms

感谢任何帮助

谢了。

共有1个答案

楚浩然
2023-03-14

这里没有报告错误,这是备用提供程序的正常回退操作(在您的情况下是conscrypt)。

Conscrypt安全提供程序不支持KeyManagerFactorySUNX509算法,因此它回到了JVM默认实现。

另外,不要直接编辑jetty-home/jetty-distribute中的文件,这是一个更大的警告,正确使用该分发,并根据警告消息中链接的文档将jetty-home和jetty-base分开。在Jetty 10和Jetty 11中,这种用于管理Jetty standalone配置的古老技术已经被完全删除!

 类似资料:
  • 我将从Groovy脚本中启动Jetty Web服务器。Jetty的默认日志记录是stderlog。现在我想配置这个日志记录,但文档中只提到了在使用start时如何进行配置。jar方法启动Jetty。 我如何配置,更具体地说,配置旋转日志文件,与StdErrLog嵌入式码头?

  • 我正在重构一个遗留的Java代码库,以向泽西资源类提供Guice驱动的依赖注入。 这是一个精简的应用程序,它使用传统的Jetty/泽西设置(请参阅 我无法理解各种组件以及它们是如何协同工作的。因此,我不断得到以下错误: 如果我在< code>FooResource的构造函数中直接访问Guice注入器,它就会工作。这告诉我Jetty/Jersey的东西被正确地设置来服务资源,Guice能够正确地构建

  • 我正在尝试开始将Jetty与Camel一起使用。我已将依赖项添加到我的pom: 我的CamelContext初始化如下: 当我尝试启动我的服务时,该服务具有定义为以下endpoint的路由: 我得到一个例外: 关于如何设置码头组件的文档最多也缺乏。我发现了一个邮件列表条目,其中说JettyHttpComponent自Camel 2.15以来一直是抽象的,现在该组件必须使用JettyHttpComp

  • 我在Jetty服务器上的JNDI配置有问题。我无论如何都不能配置它,使Spring(3.0.5)之后可以检索JNDI变量。 我有一些凭证,我不想存储在属性中,这样它就不会存在于git repo中。我的web应用程序正在Jetty(最新版本9.2.3)上运行,因此我想到了在Jetty web应用程序上下文中存储这些凭证的想法。Jetty通过。所以我创建了jetty env。我的WEB-INF/中的x

  • 更具体地说,我得到了包含所有依赖项的可执行war。应用程序在没有jndi数据源的情况下启动,就像一个魅力一样,用jndi数据源运行它失败了。我认为在这样的配置中没有jetty.xml的位置,因此jetty-env.xml也不适用,因为jetty在默认情况下不会读取它。我试图使用jetty-web.xml进行jndi数据源配置,但jetty未能部署应用程序,返回503错误代码。我用的是9-M4型飞机

  • 我正在通过后码头日志记录,并试图找出打印的每个属性的含义 123.4.5.6---[27/Aug/2004:10:16:17 0000]“GET/jetty/tut/XmlConfiguration.html HTTP/1.1”200 76793”http://localhost:8080/jetty/tut/logging.html“Mozilla/5.0(X11;U;Linux i686;en