2013-03-11 48 views
2

我有一個運行在RHEL服務器上的Java應用程序。我想在RHEL上的tomcat 7上啓用SSL。我正在關注this tutorial如何在RHEL上的Tomcat 7上啓用SSL/HTTPS

我用這個命令來創建一個自簽名證書。

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

但在運行https://localhost:8443/我沒有得到任何東西,我能配置Tomcat以支持SSL或HTTPS。

+1

在「我想在RHEL(Red Hat)上的tomcat 7上啓用SSL」和「-keystore c:\ mkyongkeystore」之間,我幾乎看不到任何意義。 – 2013-03-12 14:25:15

+0

@ kagali-san我的解釋不好。我在tomcat lib目錄中運行keytool命令 – 2013-03-13 06:45:46

+1

c:\ mkyongkeystore是windows路徑,您在RHEL上使用的確切命令是什麼? – 2013-03-13 08:08:08

回答

3

A)創建密鑰存儲文件通過執行以下命令來存儲服務器的私鑰和自簽名證書:

的keytool -genkey -alias tomcat的-keyalg RSA -keystore的/ etc/tomcat6中/密鑰庫

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指南如何做到這一點。