Tomcat
HTTPS

Tomcat7 でのWebアプリケーションをHTTPS通信に対応させる

More than 3 years have passed since last update.


背景

LANからインターネットに出る際にプロキシ経由となっている環境で、外部に立てたTomcat上のWebアプリにHTTPS通信ができるようにしたい。

諸事情(プロキシによるブロック)あって、外部のサーバーに直接接続できなかったので、まずはローカル環境で試した。


結果


事前確認

まずはHTTPでちゃんとアプリが起動しているか確認。

サービスで動かしているので、サービスを起動して、ブラウザでURLにアクセス。接続OK。


TomcatへのSSL対応処理


  • keystoreファイルの作成

コマンドでTomcatが使えるkeystoreを作成する。



"%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg RSA



対話形式であれこれ聞かれるので、適宜入力。パスワードはあとで使うので忘れないように。

これで.keystoreファイルがローカルユーザーのフォルダ配下にできる。


  • server.xmlのHTTPS通信設定

先ほどのコマンドで作成された.keystoreのパスと、設定した鍵パスワードをHTTPSのConnector定義の箇所に追記する。

 <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"

maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="[keystore_dir]\.keystore" keystorePass="[key_password]" />


HTTPSでの接続確認

ブラウザにて、https://[tomcat_server_URL]:8443/ にアクセスして、Tomcatの管理画面が開けばOK。

これでTomcatに構成してるアプリがHTTPSで接続できる。


参考