Apache TomcatサーバーでHTTPSまたはSSLの正しい方法を有効にするためのステップバイステップガイド–ポート8443
公開: 2021-04-03ApacheTomcatを使い始めてからほぼ12年になります。 私が最初の学年未満のプロジェクトを行ったとき、それはTomcatバージョン1.x
にあったと思います。 現在、バージョン8.0
になっています。 ほとんどの場合、私は日常業務でTomcat Serverと連絡を取り合っており、TomcatServerなしでは生きていけません。
Crunchifyでは、 Apache Tomcat
に関する約40の記事をすでに公開しています。 ほとんどのチュートリアルでは、 server.xml
ファイルで構成されたデフォルトのポートであるポート8080でサーバーを実行しました。
このチュートリアルではhow to enable HTTPS/SSL on Apache Tomcat Server
。
始めましょう:
ステップ1。 キーストアを作成する
keytool
:キーと証明書の管理ツールであるkeytool
コマンドを使用して安全なキーを生成します。
指示:
1 2 3 4 |
bash - 3.2 $ pwd / Users / Shared bash - 3.2 $ keytool - genkey - alias crunchify - keyalg RSA - keystore / Users / Shared / crunchify . keystore |
ファイルは/Users/Shared
フォルダーの下に作成されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
bash - 3.2 $ keytool - genkey - alias crunchify - keyalg RSA - keystore / Users / Shared / crunchify . keystore Enter keystore password : Re - enter new password : What is your first and last name ? [ Unknown ] : App Shah What is the name of your organizational unit ? [ Unknown ] : Crunchify , LLC What is the name of your organization ? [ Unknown ] : Crunchify What is the name of your City or Locality ? [ Unknown ] : New York City What is the name of your State or Province ? [ Unknown ] : NY What is the two - letter country code for this unit ? [ Unknown ] : US Is CN = App Shah , OU = "Crunchify, LLC" , O = Crunchify , L = New York City , ST = NY , C = US correct ? [ no ] : yes Generating 2 , 048 bit RSA key pair and self - signed certificate ( SHA256withRSA ) with a validity of 90 days for : CN = App Shah , OU = "Crunchify, LLC" , O = Crunchify , L = New York City , ST = NY , C = US |
私はMacOS Xを使用しているので、Windowsを使用している場合は、それに応じてパスを置き換えてください。 パスワード123456
を使用しました。
ステップ2。 自己署名証明書署名要求を作成する
1 2 |
bash - 3.2 $ keytool - certreq - keyalg RSA - alias crunchify - file crunchify . csr - keystore crunchify . keystore Enter keystore password : |
パスワードを入力してください:123456
ステップ-3。 最初のTomcatがHTTP経由でポート8080で実行されていることを確認しましょう。
次のコマンドを使用してTomcatサーバーをStart
します:<tomcat_home> startup.sh
。
正しいTomcatパスの場所にいることを確認してください。
1 2 3 4 5 6 7 8 9 10 11 |
bash - 3.2 # pwd / Users / Shared / apache - tomcat - 9.0.30 / bin bash - 3.2 $ . / startup . sh Using CATALINA_BASE : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_HOME : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_TMPDIR : / Users / Shared / apache - tomcat - 9.0.30 / temp Using JRE_HOME : / Library / Java / JavaVirtualMachines / jdk - 13.0.1.jdk / Contents / Home Using CLASSPATH : / Users / Shared / apache - tomcat - 9.0.30 / bin / bootstrap . jar : / Users / Shared / apache - tomcat - 9.0.30 / bin / tomcat - juli . jar Tomcat started . |
URL: http://localhost:8080
にアクセスして、サーバーが稼働していることを確認します。
ステップ-4。 次に、HTTPSを介してポート8443のTomcatインスタンスを確認します。
- 次に、ポート8443(HTTPS / SSL URL)を確認します。
- ヒットURL:
https://localhost:8443
- エラーメッセージが表示されます。 ページがまったく読み込まれないはずです。
ステップ-5。 /conf/server.xmlファイルを更新します
上記でキーストアと証明書署名要求を生成したので、それを使用するようにtomcatに指示する必要があります。
-
<tomcat_home>/conf/
フォルダーにあるserver.xml
ファイルを開き、設定を変更します。 - この例では、
/Users/Shared/apache-tomcat-9.0.30/conf
フォルダーです。
以下のセクションをserver.xmlファイルに直接追加します。

1 2 3 4 5 |
< Connector port = "8443" protocol = "HTTP/1.1" SSLEnabled = "true" maxThreads = "150" scheme = "https" secure = "true" keystoreFile = "/Users/Shared/crunchify.keystore" keystorePass = "123456" clientAuth = "false" sslProtocol = "TLS" sslVerifyClient = "optional" sslEnabledProtocols = "TLSv1.2,TLSv1.1,SSLv2Hello" / > |
- ここで、パスワードは
Step-1
で使用した123456
です。 - プロトコル:HTTP / 1.1
ファイルを保存。 次に、Tomcatサーバーを停止して起動します。
ステップ-6。 ApacheTomcatを停止して開始します。
- bash-3.2 $ /Users/Shared/apache-tomcat-9.0.30 / bin / shutdown.sh
- bash-3.2 $ /Users/Shared/apache-tomcat-9.0.30 / bin / startup.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
bash - 3.2 $ / Users / Shared / apache - tomcat - 9.0.30 / bin / shutdown . sh Using CATALINA_BASE : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_HOME : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_TMPDIR : / Users / Shared / apache - tomcat - 9.0.30 / temp Using JRE_HOME : / Library / Java / JavaVirtualMachines / jdk - 13.0.1.jdk / Contents / Home Using CLASSPATH : / Users / Shared / apache - tomcat - 9.0.30 / bin / bootstrap . jar : / Users / Shared / apache - tomcat - 9.0.30 / bin / tomcat - juli . jar NOTE : Picked up JDK_JAVA_OPTIONS : -- add - opens = java . base / java . lang = ALL - UNNAMED -- add - opens = java . base / java . io = ALL - UNNAMED -- add - opens = java . rmi / sun . rmi . transport = ALL - UNNAMED bash - 3.2 $ / Users / Shared / apache - tomcat - 9.0.30 / bin / startup . sh Using CATALINA_BASE : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_HOME : / Users / Shared / apache - tomcat - 9.0.30 Using CATALINA_TMPDIR : / Users / Shared / apache - tomcat - 9.0.30 / temp Using JRE_HOME : / Library / Java / JavaVirtualMachines / jdk - 13.0.1.jdk / Contents / Home Using CLASSPATH : / Users / Shared / apache - tomcat - 9.0.30 / bin / bootstrap . jar : / Users / Shared / apache - tomcat - 9.0.30 / bin / tomcat - juli . jar Tomcat started . |
ステップ-7。 HTTPSのURLと認証を確認してください:https:// localhost:8443
次に、HTTPSセキュアURLをもう一度押して、ページが正常に読み込まれたことを確認します。
クロム:
- デフォルトでは
Chrome Blocks all insecure HTTPS
。 -
Chrome flag
を有効にして、ローカルホストからロードされたリソースの無効な証明書をロードします
- Chromeに移動
- タブを開く
- タイプ:
chrome://flags/#allow-insecure-localhost
- ドロップダウンからフラグを有効にする
- Chromeを再起動します
SafariとMozillaFirefox:
-
Accept invalid certificate error
て、サイトにアクセスしてください。
ポート8443でHTTPSを介してApacheTomcatページが読み込まれるのを確認する必要があります
準備万端です。 red padlock
に気づきましたか? 心配しないでください。 VerisignまたはComodoからSSL証明書を購入していません。
実稼働環境では、その赤い十字記号が表示されない場合があります。
ブラウザで証明書をクリックすると、デフォルトの自己署名証明書が
valid for 90
なります。
ボーナスポイント:
コマンドkeytool
を使用してcert content
を確認するにはどうすればよいですか?
1 |
bash - 3.2 # keytool -list -keystore /Users/<username>/crunchify.keystore |
結果:
1 2 3 4 5 6 7 8 9 10 11 12 |
bash - 3.2 $ keytool - list - keystore / Users / Shared / crunchify . keystore Enter keystore password : Keystore type : PKCS12 Keystore provider : SUN Your keystore contains 1 entry crunchify , Apr 24 , 2020 , PrivateKeyEntry , Certificate fingerprint ( SHA - 256 ) : 9D : 26 : 77 : E0 : E8 : 79 : 5B : 46 : 57 : 64 : 04 : 95 : B8 : 22 : 9C : E2 : 9F : A4 : 82 : CB : 01 : B5 : 80 : 62 : 75 : 90 : 48 : 27 : 5F : 60 : CB : C8 bash - 3.2 $ |