記錄如何讓 Tomcat 支援 SSL 加密,因為工作太忙了,現在沒時間寫的那麼詳細,所以只記錄重點。

Tomcat SSL 設定

這是最直接的做法,首先產生 keysotre:

cd /usr/share/tomcat7
keytool -genkey -alias tomcat

再編輯 /etc/tomcat7/server.xml,開啟 SSL 功能:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
  maxThreads="150" scheme="https" secure="true"
  clientAuth="false" sslProtocol="TLS"
  keystoreFile="/usr/share/tomcat7/.keystore"
  keystorePass="secret_password" />

重新啓動 Tomcat:

service tomcat7 restart

大功告成!

透過 Apache 提供 SSL 加密

另外一個方式是透過 Apache 來提供 SLL 加密,一般 Tomcat 的 port 都是開在 8080,所以通常都要透過 Apache 來整合至 80 port,直接使用 Apache 的加密也比較單純。

首先開啟 Apache SSL 模組:

a2enmod ssl

接著設定 Apache 的 Proxy 功能,開啟兩個模組:

a2enmod proxy
a2enmod proxy_ajp

在 Apache 設定檔中加入 Proxy 設定,以筆者的 Ubuntu 系統而言是加在 /etc/apache2/sites-available/default-ssl:

<Location /path/>
  ProxyPass ajp://localhost:8009/path/
</Location>

其中的 path 就依照自己的情況替換,最後重新啟動 Apache:

service apache2 restart

大致上就是這樣。