記錄如何讓 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 來提供 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
大致上就是這樣。