天天看點

Ubuntu tomcat配置https的方法

參考文獻:

​​http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html​​

​​http://blog.sina.com.cn/s/blog_682b5aa1010113uu.html​​(中文,比較實用)

​​https://help.ubuntu.com/community/TomcatSSL​​

(伺服器和用戶端證書)

背景

本文以ubuntu環境為例進行說明,具體環境如下

OS:ubuntu-server_12.04

TOMCAT_HOME:/usr/local/tomcat7,安裝方法參考:​​windows和linux下将tomcat注冊為服務​​

JAVA_HOME:/usr/lib/jvm/jdk1.7.0_45,安裝方法參考:​​ubuntu下安裝JDK并配置java環境​​

總體思路

伺服器端

1.用JDK自帶的Keytool生成keystore檔案

  1)打開終端控制台,轉向tomcat主目錄,執行生成keystore檔案指令,這條指令的作用是在tomcat主目錄下生成server.keystore檔案,這裡設定的server.keystore的密碼是Envisi0n,這個密碼在後面會用到。

keytool -genkey -alias tomcat -keyalg RSA -keypassEnvisi0n -storepass Envisi0n -keystore server.keystore -validity3600

  2)根據keystore檔案生成證書,這條指令的作用是在tomcat主目錄下生成server.cer證書檔案。

keytool -export -trustcacerts -alias tomcat -fileserver.cer -keystore server.keystore -storepass Envisi0n

3)%TOMCAT_HOME%\conf\server.xml,找到一下這段内容,将這段的注釋取消掉

<Connectorport="8443" protocol="HTTP/1.1"SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />

并添加keystoreFile和keystorePass,如下圖所示:

<Connectorport="8443" protocol="HTTP/1.1"SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS"

keystoreFile="/usr/local/tomcat7/server.keystore"

              keystorePass="Envisi0n"  />

4)拿到上面第二步獲得的證書以後,将此證書導入到JDK的cacerts庫當中,執行如下指令