调试码头 https

Debugging Jetty https

我正在使用 https 设置一个独立的(非嵌入式)jetty 9.2.1。

我在我的本地盒子上使用自签名证书玩了一下,一切正常。

现在我正在设置一个 uat 服务器(类似于我将在生产中获得的服务器),但我无法正确获取 https 运行。 这些是我的步骤:

1) 我创建了一个密钥库,生成了证书请求并提交给了我的 CA,获得了签名证书并在密钥库中导入了新证书和根证书

2) 我可以通过以下操作验证密钥库是否正常:

keytool -list -keystore jetty.jks

我可以看到所有带有别名的证书

3) 我将密钥库放在 /etc 文件夹中并编辑了 jetty-ssl.xml

<Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default="etc/jetty.jks"/></Set>
<Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="somepassword"/></Set>
<Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="somepassword"/></Set>
<Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.truststore" default="etc/jetty.jks"/></Set>
<Set name="TrustStorePassword"><Property name="jetty.truststore.password" default="somepassword"/></Set>

启动时我可以看到 http 和 https 连接器'up'

10927 [main] INFO  org.eclipse.jetty.server.ServerConnector  - Started ServerConnector@231e04a9{HTTP/1.1}{0.0.0.0:8090}
11285 [main] INFO  org.eclipse.jetty.server.ServerConnector  - Started ServerConnector@4a1f826d{SSL-http/1.1}{0.0.0.0:8443}
11285 [main] INFO  org.eclipse.jetty.server.Server  - Started @12632ms

但是 https 没有响应,实际上我从 netstat 看到没有任何东西在监听端口 8443(同时显示端口 8090 正常)

我尝试使用 jetty 附带的 'sample' 密钥库并使其正常工作,这让我想到我的密钥库存在一些问题......但是,我在控制台和任何日志中都没有看到任何错误(即使以 -DDEBUG=true 开始,我也可以看到密钥库的证书。

我也试过 'force' 用 -Djetty.https-cert-alias=capi 选择哪个别名,但没有成功。

关于如何调试它有什么想法吗?

谢谢!

我添加了以下属性以启用 ssl 调试:

-DDEBUG=true -Dorg.eclipse.jetty.LEVEL=DEBUG -Djavax.net.debug=ssl,handshake,data

成功了。 ;)

我所做的是将调试 属性 添加到码头启动脚本:

-Djavax.net.debug=all

出于某种原因,所有调试信息都可以在 /var/log/upstart/myComponent.log

下的新贵文件中找到

对我来说这很有效:

 -DDEBUG=true -Dorg.mortbay.jetty.LEVEL=DEBUG -Djavax.net.debug=ssl,handshake,data -classpath