我是 tomcat 中 https 配置的新手。我用谷歌搜索了很多,但这并没有解决我的问题。我在上面部署了一台 ec2 机器和 tomcat。我尝试创建易于生成的自签名证书。我使用了我的域 www.test.com(使用我的服务器名称更改了测试)并生成了密钥库文件。然后我按照 tomcat docs 的 ssl howto 中的描述为 https 配置编辑了 conf/server.xml。但是 https 不起作用。虽然当我执行“curl https://localhost:8443 -k”时我可以得到响应,但它在浏览器中不起作用。需要很长时间才能做出回应,然后我一无所有。我需要证书还是仅适用于密钥库文件?请告诉我 。
请帮帮我谢谢
2 回答
嗨,感谢您的回答,我发现了我的问题,并想解释我的解决方案 1.) Curl 正在工作,但在浏览器中没有响应。我必须从 aws 中的安全组手动打开端口 8443。那时它正在工作:)。
2.) 对于所有其他人,如果他们遇到“无法从回复建立链”的问题 i) 请检查您的密钥库文件。用于生成 CSR 是否相同?ii) 安装您的证书颁发机构提供的中间证书。对于其中一些,您可以按照 https://www.sslcertificaten.nl/download/Root_Certificaten/ 分别使用别名主要和次要 $JAVA_HOME/bin/keytool -import -alias primary -keystore sslkey -trustcacerts -file primary_cert.crt -storepass我的通行证
$JAVA_HOME/bin/keytool -import -alias secondary -keystore sslkey -trustcacerts -file secondary_cert.crt -storepass mypass iii) 最后导入你的证书 $JAVA_HOME/bin/keytool -import -alias tomcat -keystore sslkey -trustcacerts -file www_mydomain_com. p7b -storepass mypass
希望这有助于欢呼
如果curl
可行,则问题出在浏览器或 servlet 中 - SSL 设置应该是正确的。检查 Tomcat 的日志文件是否有错误,并在 servlet 中设置断点以查看发生了什么。