2020/04/02

在Tomcat設置HTTPS

摘要

本文概要記錄在Apache Tomcat設定支援HTTPS協定的要點。


本文

Apache Tomcat是一個Servlet容器,本身提供了HTTP伺服器的功能,可以透過編輯組態配置檔案來調整設定,設定包括對HTTPS協定的支援。

在Ubuntu MATE 16.04上安裝Apache Tomcat 8的指令如下。
sudo apt-get install tomcat8

安裝完畢的Apache Tomcat預設支援HTTP協定,透過瀏覽器進行測試的畫面如下所示。

為了令Apache Tomcat支援HTTPS協定需要操作keytool命令,必須先以genkeypair子命令來產生keystore,產生完畢的keystore可以list子命令來檢視。
sudo keytool -genkeypair -keyalg RSA -keysize 2048 -validity 183 -dname "cn=Leo Liu, ou=SW2, o=Askey, c=TW" -alias tomcat -keypass 01234567 -storepass 01234567 -keystore /usr/share/tomcat8/.keystore
sudo keytool -list -v -keystore /usr/share/tomcat8/.keystore -storepass 01234567


一個檢視畫面如下所示。

調整Ubuntu上的Apache Tomcat組態設定檔案,指定keystoreFile和keystorePass欄位後,再重新啟動Apache Tomcat。
sudo vi /etc/tomcat8/server.xml
sudo service tomcat8 restart


組態設定檔案修改片段如下所示。

重新啟動之後的Apache Tomcat便已支援HTTPS,透過瀏覽器進行測試的畫面如下所示。

Apache Tomcat和瀏覽器之間的封包交握畫面如下所示。



參考文獻

https://blog.gtwang.org/web-development/tomcat-ssl-https/
https://codertw.com/%E4%BC%BA%E6%9C%8D%E5%99%A8/380395/
https://stackoverflow.com/questions/29449966/how-to-fix-ssl-error-no-cypher-overlap-on-a-tomcat-7-server/41544315
https://serverfault.com/questions/127640/where-are-my-tomcat-logs

沒有留言:

張貼留言