想用 Tomcat 配置 HTTPS;没有注册域

Want to configure HTTPS with Tomcat; don't have a registered domain

我正在尝试让 HTTPS 与 Tomcat 一起工作。我在 CentOS 7.7.1098 上使用 Tomcat 8.5.55。我没有可将 CSR 发送到的注册域...而只是想 运行 在我的本地主机上发送它。

我阅读了有关该主题的多个来源,他们说要创建我自己的 CA。我是这样做的:

openssl genrsa -des3 -out myCA.key 2048

openssl req -x509 -new -nodes -key myCA.key -sha256 -days 1825 -out myCA.pem

然后加载到服务器:

cp myCA.pem /etc/pki/ca-trust/source/anchors/

update-ca-trust

然后将其导入密钥库:

keytool -genkey -alias tomcat -keyalg RSA

keytool -importcert -alias tomcat -keystore ~/.keystore -file ~/tempcert/myCA.pem

这是 server.xml 的样子:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true">
    <SSLHostConfig>
        <Certificate certificateKeystoreFile="~/.keystore"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

但是当我尝试连接到 https://localhost:8443 时,它只是超时(例如,在 Firefox 中,“连接已超时。localhost 的服务器响应时间太长。)

日志目录中也没有任何错误。

我哪里做错了?

server.xml 文件应包含密钥库 password.could 您请更改 server.xml 如下:-

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
    disableUploadTimeout="true" enableLookups="false" maxThreads="25"
    port="8443" keystoreFile="yourKeystorefilePath" keystorePass="yourKeystorepassword"
    protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
    secure="true" sslProtocol="TLS" />

您的密钥库文件应该使用相同的密码导入密钥库。

还有任何问题,请将以下 unix 命令的输出和来自 tomcat 位置的 catalina.out 日志文件发送给我以进行更多调试。

  1. ps-ef | grep '8443'
  2. curl -iv --cert=文件https://localhost:8443

再检查一次,请在您的计算机中安装此 link (https://keystore-explorer.org/) 中的密钥库浏览器工具,并在其中导入密钥库文件,一次导入它会要求输入密码(输入正确的密码)。如果它打开意味着密钥库文件和密码正确。

希望它能解决您的问题。