3

サーバーのポート8080で利用できるWebアプリケーションがいくつかあります。

一部のユーザーはファイアウォールが原因でポート8080に到達できないため、Apacheサーバーにリダイレクトを設定したいと思います。イルは次のURLを希望します

http://dev2.test.com/tomcat/somewebapp/restofthepath

でアクセス可能なものを表示するには

http://dev2.test.com:8080/somewebapp/restofthepath

もちろん、最初のアドレスを入力したユーザーに2番目のアドレスが表示されないようにします。

次の.htaccessファイルをに追加しました/var/www

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(tomcat)
RewriteRule ^/tomcat/(.*)$ http://dev2.test.com:8080/$1 [P,QSA,L]

しかし、私はこのエラーを次のように受け取ります/var/log/apache2/error.log

[Tue Oct 09 15:23:06 2012] [error] File does not exist:  proxy:http://dev2.test.com:8080/tomcat/

どうしたらいいか教えていただけますか?

4

2 に答える 2

7

mod_proxyの代わりに使用する必要がありmod_rewriteます。

ProxyPass /tomcat http://dev2.test.com:8000/
ProxyPassReverse /tomcat http://dev2.test.com:8000/

編集 :

この構成は、httpd.conf にある必要があります。これは、VirtuaHost セクションまたはファイルのルートにあります。

mod_proxy を有効にする必要があります。これは、

LoadModule  proxy_module         /usr/lib/apache2/modules/mod_proxy.so
LoadModule  proxy_http_module    /usr/lib/apache2/modules/mod_proxy_http.so
于 2012-10-09T15:04:33.983 に答える
2

あなたがしたことをすると、ポート 8080 へのリダイレクトのみがユーザーに送信されます (ユーザーは使用できません)。apache mod_proxyまたは別のプロキシ サーバーを使用する必要があります。

ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar
于 2012-10-09T15:05:08.540 に答える