質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

0回答

3961閲覧

Tomcatでhttpsの設定(証明書作成、server.xmlの編集等)をするも、https接続できない

MeguroHarumi

総合スコア14

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2020/12/30 03:39

編集2020/12/31 10:41

前提・実現したいこと

JSP/Servletで作成した動的Webアプリケーションをhttpsに対応させようとTomcatの設定を行っておりますが、「https://[ホスト名]:8443」でTomcatのデフォルトページが表示されない状況です。
(★12/31追記)
Tomcatのデフォルトページ「https://[ホスト名]:8443」は表示できるようになったのですが、動的Webアプリのページ「https://[ホスト名]:8443/[AppName]/」だと表示されない状況です。

<Tomcatのデフォルトページはhttps接続できた>
Tomcatのデフォルトページはhttps接続できた

<アプリのURLだと引き続きNG>
イメージ説明

<httpではWebアプリも表示できる>
イメージ説明

発生している問題・エラーメッセージ

後述の設定を行って「https://[ホスト名]:8443/[AppName]」で疎通を行うと、ブラウザ上に次のメッセージが表示されている状況です。

(新エラーメッセージ)

このサイトにアクセスできません[ホスト名] からの応答時間が長すぎます。 次をお試しください 接続を確認する プロキシとファイアウォールを確認する Windows ネットワーク診断ツールを実行する ERR_TIMED_OUT

設定手順&該当のソースコード

①証明書の生成(★12/31追記)
「-keyalg RSA」を追記

keytool -genkey -alias tomcat -keyalg RSA -keypass [パスワード] -keystore mycertificate.cer -storepass [パスワード]

②server.xmlの編集

Java

1<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 2 scheme="https" 3 secure="true" 4 clientAuth="false" 5 sslProtocol="TLS" 6 sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1" 7 keystoreFile="conf/mycertificate.cer" keystorePass="[password]" />

③ポート開放(8443)(★12/31追記)
iptablesに以下のレコードを追加

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT

④server.xmlの編集 (12/31追記)

<security-constraint> <web-resource-collection> <web-resource-name>HTTPSOnly</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint>

⑤Tomcatの再起動

cd $CATALINA_HOME/bin/startup.sh

試したこと

■Firewallのポート開放を行いましたが、結果は変わらずでした。

vi etc/sysconfig/iptables

iptablesに以下のレコードを追加。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT

(12/31追記)
■証明書の作り直し
keytoolコマンドのオプションに「-keyalg RSA」を付与したら、Tomcatのデフォルトページは表示されるようになりました(動的WebアプリのURLは依然としてNG)。

(12/31追記)
■crulコマンドでのエラー調査
crulで見ると以下のエラーが出ているのですが、ググっても有効が対処が見つけられず苦戦しています・・

$ curl -v --tlsv1.1 https://[hostname]:8443/[appname] * About to connect() to [hostname] port 8443 (#0) * Trying [IP address]... connected * Connected to [hostname] ([IP address]) port 8443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * NSS error -5990 * Closing connection #0 * SSL connect error curl: (35) SSL connect error

補足情報(FW/ツールのバージョンなど)

OS:CentOS 6.10
Tomcat : 8.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MeguroHarumi

2020/12/30 10:01

コメント頂きありがとうございます。 firefoxをインストールして試したところ、ローカルでもタイムアウトエラーになりました。まずはローカルから繋がるように、継続して取り組んでみようと思います。
YT0014

2020/12/31 02:04

参考URLにあるように、curlを使って、できるだけゆるい条件で、できるだけ情報を得られるようなオプションを、お試しください。 接続ができない原因に関する、より多くの情報が取得できると思います。
YT0014

2020/12/31 02:06

また、証明書の発行は、どのような方法だったのかも、追記していただけると、回答が得られる可能性が上がるかと思います。
MeguroHarumi

2020/12/31 10:02

YT0014さん 度々ありがとうございます。crul試して見たらエラーが出て調べていたのですが、情報が少なく有効な対処法が見つけられませんでした・・(エラーメッセージは「試したこと」に追記しました)。 また良く分かっておらず恐縮ですが「証明書の発行」は「keytool -genkey ~」のコマンドの事と認識していましたが、何か別のものを意図されていましたでしょうか? お手数ですが、ご教示頂けたらと思います。
YT0014

2020/12/31 10:32 編集

SSL証明書は、本来、公認されている認証局により発行されるものです。 HTTPSのテストなどの用途の場合、この発行を自分自身で行うこともありますが、これは、自己証明書やオレオレ証明書などと呼ばれ、形式がまもられていても、証明にはならないものとみなされます。 Tomcatのツールで作成されるものは、後者の証明書になります。 詳細に関しては、ご自分でお調べください。
MeguroHarumi

2020/12/31 10:35

YT0014さん ありがとうございます、理解できました。詳細は自分で調べます。 私の理解では「自己証明書」は証明書としては認められなくても、httpsのURLでページ自体は表示可能という理解です。例えば、次の動画では最後に自身のWebアプリにhttpsから接続しています。 https://www.youtube.com/watch?v=MFYgCHC8t0o (何かを改善すれば、一旦疎通する事は出来ますよね?という意味の質問です)
YT0014

2020/12/31 10:36

TomcatのTopページが表示されているので、httpsより、jspの表示が終わらない状態になっている可能性のほうが高そうです。 httpでは、きちんと表示されていたのでしょうか?
MeguroHarumi

2020/12/31 10:42 編集

早速ありがとうございます。 すみません、書いておけば良かったですが、httpでは正常に表示されます。 (冒頭に画面キャプチャを追加しました)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問