我正在设置一个独立的(非嵌入式)jetty 9.2.1,并使用https。在我的本地环境中,我对自签名证书进行了一些测试,一切都很好。现在我正在设置一个uat服务器(类似于我将在生产中获取的服务器),但是我无法正确地运行https。这是我的步骤:
1)我创建了一个密钥库,生成了证书请求并提交到我的CA,获得了签名证书,并在密钥库中导入了新的和根证书。 2)我可以验证密钥库看起来不错,并通过执行以下操作进行验证:
我可以看到所有证书都显示了它们的别名。
3)我将密钥库放在/etc文件夹中,并编辑了jetty-ssl.xml文件。
在启动时,我可以看到HTTP和HTTPS连接器都处于“已启动”状态。
但是https没有响应,事实上我从netstat中发现在8443端口上没有任何监听(而在8090端口上显示正常)。
我尝试使用jetty随附的“样本”密钥库,并成功使其工作,这让我想到我的密钥库存在问题……但是,我既没有在控制台上看到错误,也没有在任何日志中看到错误(即使使用-DDEBUG=true启动),我可以看到密钥库的证书。
我还尝试使用“-Djetty.https-cert-alias=capi”来强制选择别名,但没有成功。
有什么思路来调试这个问题吗?
谢谢!
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连接器都处于“已启动”状态。
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随附的“样本”密钥库,并成功使其工作,这让我想到我的密钥库存在问题……但是,我既没有在控制台上看到错误,也没有在任何日志中看到错误(即使使用-DDEBUG=true启动),我可以看到密钥库的证书。
我还尝试使用“-Djetty.https-cert-alias=capi”来强制选择别名,但没有成功。
有什么思路来调试这个问题吗?
谢谢!