调试Jetty https
我正在使用https设置独立(非嵌入式)jetty 9.2.1 我在我的本地包厢上玩了一点自签名证书,一切都很顺利 现在我正在设置一个uat服务器(类似于我将在生产中得到的),但我无法正确运行https。 以下是我的步骤: 1) 我创建了一个密钥库,生成了证书请求并提交给我的CA,获得了签名证书并在密钥库中导入了新证书和根证书 2) 我可以通过执行以下操作来验证密钥库是否正常:调试Jetty https,https,jetty,jetty-9,Https,Jetty,Jetty 9,我正在使用https设置独立(非嵌入式)jetty 9.2.1 我在我的本地包厢上玩了一点自签名证书,一切都很顺利 现在我正在设置一个uat服务器(类似于我将在生产中得到的),但我无法正确运行https。 以下是我的步骤: 1) 我创建了一个密钥库,生成了证书请求并提交给我的CA,获得了签名证书并在密钥库中导入了新证书和根证书 2) 我可以通过执行以下操作来验证密钥库是否正常: keytool -list -keystore jetty.jks 我可以看到所有显示其别名的证书 3) 我将密钥库
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>
但是https没有响应,事实上,我从netstat上看到8443端口上没有任何内容正在侦听(同时显示8090端口的正常状态)
我尝试使用jetty附带的“示例”密钥库并使其正常工作,这让我想到了密钥库的一些问题。。。但是,我在控制台上或任何日志中都没有看到错误(即使以-DDEBUG=true开头),并且可以看到密钥库的证书
我还尝试使用-Djetty.https cert alias=capi“强制”选择哪个别名,但没有成功
关于如何调试这个有什么想法吗
谢谢 我添加了以下属性以启用ssl调试:
-DDEBUG=true -Dorg.eclipse.jetty.LEVEL=DEBUG -Djavax.net.debug=ssl,handshake,data
这就成功了 我所做的是将debug属性添加到jetty启动脚本中:
-Djavax.net.debug=all
出于某种原因,所有调试信息都可以在我的upstart文件中的/var/log/upstart/myComponent.log
下找到。对于我来说,这是有效的:
-DDEBUG=true -Dorg.mortbay.jetty.LEVEL=DEBUG -Djavax.net.debug=ssl,handshake,data -classpath
这会产生什么样的输出?与SunJSSE输出类似?谢谢
-DDEBUG=true -Dorg.mortbay.jetty.LEVEL=DEBUG -Djavax.net.debug=ssl,handshake,data -classpath