调试码头https

Dan*_*ele 4 https jetty jetty-9

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

我在本地机器上玩了带有自签名证书的文件,一切都很好。

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

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

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

keytool -list -keystore jetty.jks
Run Code Online (Sandbox Code Playgroud)

我可以看到所有显示的证书及其别名

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>
Run Code Online (Sandbox Code Playgroud)

在启动时,我可以同时看到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
Run Code Online (Sandbox Code Playgroud)

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

我尝试使用jetty随附的“示例”密钥库并使其正常工作,这使我想到了密钥库的某些问题……但是,我在控制台或任何日志中都没有看到错误(即使以-DDEBUG =开头也是如此) true),我可以看到密钥库的证书。

我也尝试用-Djetty'force'选择哪个别名。https-cert-alias = capi但没有运气。

关于如何调试的任何想法?

谢谢!

Dan*_*ele 5

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

-DDEBUG=true -Dorg.eclipse.jetty.LEVEL=DEBUG -Djavax.net.debug=ssl,handshake,data
Run Code Online (Sandbox Code Playgroud)

做到了。;)