【问题标题】:How to Enable SSL/HTTPS on Tomcat 7 on RHEL如何在 RHEL 上的 Tomcat 7 上启用 SSL/HTTPS
【发布时间】:2013-03-11 11:11:23
【问题描述】:

我有一个在 RHEL 服务器上运行的 Java 应用程序。我想在 RHEL 上的 tomcat 7 上启用 SSL。我正在关注this tutorial

我使用这个命令来创建一个自签名证书。

keytool -genkey -alias mkyong -keyalg RSA -keystore c:\mkyongkeystore

但是在运行 https://localhost:8443/ 时,我什么也没有得到,我可以配置 Tomcat 以支持 SSL 或 https。

【问题讨论】:

  • 在“我想在 RHEL(Red Hat) 上的 tomcat 7 上启用 SSL”和“-keystore c:\mkyongkeystore”之间,我几乎看不出任何意义..
  • @kagali-san 我的解释不好。我在 tomcat lib 目录中运行 keytool 命令
  • c:\mkyongkeystore 是 windows 路径,您在 RHEL 上使用的确切命令是什么?
  • @kagali-san "keytool -genkey -alias mkyong -keyalg RSA -keystore c:\mkyongkeystore" 我在 tomcat bin 目录中的 cmd 提示符下运行此命令,如 mkyong 教程中所述。我在我的问题中提供了相同的链接。

标签: java linux ssl-certificate redhat rhel


【解决方案1】:

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 指导如何做到这一点。

【讨论】:

    猜你喜欢
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 2012-12-05
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多