我有一个在 RHEL 服务器上运行的 Java 应用程序。我想在 RHEL 上的 tomcat 7 上启用 SSL。我正在关注本教程。
我使用这个命令来创建一个自签名证书。
keytool -genkey -alias mkyong -keyalg RSA -keystore c:\mkyongkeystore
但是在运行https://localhost:8443/
时我什么也没有得到,我可以将 Tomcat 配置为支持 SSL 或 https。
A) 通过执行以下命令创建一个密钥库文件来存储服务器的私钥和自签名证书:
keytool -genkey -alias tomcat -keyalg RSA -keystore /etc/tomcat6/keystore
B) 取消注释 /etc/tomcat6/server.xml 中的“SSL HTTP/1.1 连接器”条目并按照下面配置部分中的说明进行修改(这只是一个示例,编辑您自己的配置并取消注释并提供正确的密码)。
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="want" SSLProtocol="TLS"
keystoreFile="conf/keystore"
truststoreFile="conf/keystore"
keystorePass="XXXXXX"
keystoreType="PKCS12"
ciphers="SSL_RSA_WITH_3DES_EDE_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA,
TLS_ECDH_anon_WITH_AES_128_CBC_SHA,
TLS_ECDH_anon_WITH_AES_256_CBC_SHA"
truststorePass="XXXXXXXXXXXXXXX" />
C) 如果您使用的是 selinux,您可能需要重新标记新创建的密钥库文件上下文。使用 RHEL SELinux 指导如何做到这一点。