2016-08-23 24 views
0

まずapacheサーバとtomcatを統合してから、httpリクエストをlocalhostのapacheを使用してhttpsにリダイレクトする必要があります。Apacheサーバ(Windows)を使用してTomcatにhttpsをリダイレクトする

、について説明:

  1. 私は、Tomcatサーバー上で実行されているJavaのWeb開発プロジェクトを持っています。 URLはhttp://localhost:8080/myProject
  2. も聞かせて私はhttp://localhost/myProjectディスプレイページhttp://localhost:8080/myProject
  3. は私がhttp://localhost/myProjectを入力した場合、それはに指示する必要があり、セキュリティ証明書を追加して、HTTPS要求、すなわち作成する必要があるようにApacheサーバに私のTomcatサーバーを統合する必要がありますhttps://localhost/myProjectと表示し、http://localhost:8080/myProjectのページを表示します。

mod_jkを使用して2台のサーバを正常に統合でき、mod_rewriteを使用して自己署名入りのセキュリティ証明書をインストールし、httpd-ssl.confファイルで証明書と鍵を指定してインストールしました。 これは私がhttpd.confの中に含まれているファイルです。

# Load mod_jk module 
# Update this path to match your modules location 
LoadModule jk_module "C:/Program Files/BitNami WAMPStack/apache2/modules/mod_jk.so" 

# Where to find workers.properties 
# Update this path to match your conf directory location 
JkWorkersFile C:/softwares/apache-tomcat-7.0.42/conf/workers.properties 

# Where to put jk logs 
# Update this path to match your logs directory location 
JkLogFile C:/MyProject/mod_jk.log 

# Set the jk log level [debug/error/info] 
JkLogLevel info 

# Select the log format 
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" 

# JkOptions indicate to send SSL KEY SIZE, 
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 

# JkRequestLogFormat set the request format 
JkRequestLogFormat "%w %V %T" 

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://localhost$1 [R,L] 

# Send everything for context /myProject to worker ajp13 
JkMount /myProject ajp13 
JkMount /myProject/* ajp13 

直面した問題: 行を削除で、

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://localhost$1 [R,L] 

それが成功したHTTPリクエストとしてページを表示します。しかし、回線を追加すると、https要求にリダイレクトされますが、 "Not Found"エラーが発生します。私はこれを修正する方法を理解することができません。私はこの問題を説明できることを願っています。私はサーバとApacheモジュールの新機能ですので、これは非常に不満な質問かもしれませんが、これを理解するのを助けてください。

+0

Apache HTTPDサーバーをリッスンしているポートはどれですか?ちょうど80? – jlumietu

+1

あなたのhttpd設定はあまりにも単純に見えます。通常は、 'VirtualHost'セクションがあります:ポート80とポート443のセクションです。また、' localhost'にリダイレクトしたくありません:クライアントがあなたに連絡するのに使ったホスト名を使用するか、 HTTPSサーバーの正しいDNS名。 –

答えて

0
タグ 「<のVirtualHost デフォルト:443>」がありました

ではhttpd- ssl.confファイル。 タグの最後に次のステートメントを追加しました。

<VirtualHost _default_:443> 
    .... 
    JkMount /myProject ajp13 
    JkMount /myProject/* ajp13 
</VirtualHost> 
0

たぶん、あなたのApache HTTPDは、ポート80を聞いて、あなたはポートを宣言せずhttps://localhost/を要求するときに両方のポート80を聴いている場合、ブラウザは確認してください、443

ので、標準のHTTPSポートを要求していますそして、で文を聞くに443を追加し、あなたのhttpd.confの443またはちょうど80のみ80の場合は、ステートメントは、問題を解決する必要があります聞く

+0

ありがとうございます。 httpd-ssl.confにlisten 443が追加されました。 – Vanellope

関連する問題