web-dev-qa-db-ja.com

1つの仮想ホスト内のさまざまなアプリにさまざまな権限を与えるようにmod_proxy_ajpを構成するにはどうすればよいですか?

私のサーバーには、2つのTomcatアプリケーションがあります: 'hidden'と 'open'。 hiddenアプリケーションはローカルネットワークでのみ使用可能である必要があります192.168.0.openアプリはすべてのネットワークで利用できる必要があります。

アプリケーションはTomcat7.0.6で実行され、リクエストはmod_proxy_ajpを使用してApache2.2.17から転送されます。これはすべてFreeBSD8.2サーバーで実行されます。

Apache Webサーバーは、静的なルートWebサイトも処理します。構成された仮想ホストはありません(1つのホストのみ)。

これまでのところ構成例は見つからなかったので、2つの単純な構成を組み合わせようとしました。

ProxyRequests Off
ProxyPreserveHost On

<Proxy /hidden>
  Order Deny,Allow
  Deny from all
  Allow from 192.168
</Proxy>

<Proxy /open>
  Order Deny,Allow
  Allow from all
</Proxy>

ProxyPass /hidden ajp://localhost:8009/hidden/
ProxyPassReverse /hidden ajp://localhost:8009/hidden/

ProxyPass /open ajp://localhost:8009/open/
ProxyPassReverse /open ajp://localhost:8009/open/

この構成では、すべてのネットワークから両方のアプリケーションにアクセスできます。私はすでに許可/拒否設定で遊んだ。これは私にとって最も論理的であるように思われました。

誰かが私の構成の何が問題になっているのか考えていますか?

オリ

1
oli

<Proxy>ディレクティブは完全なURLを取ります-仮想ホストはそれらを複数持つ可能性があるため、ディレクティブは完全なプロキシとして使用する場合により適しています。

ディレクティブを<Location>ブロックに変更してみてください。これにより、必要な方法でアクセス許可が適用されます。

<Location /hidden>
  Order Deny,Allow
  Deny from all
  Allow from 192.168
</Proxy>

<Location /open>
  Order Deny,Allow
  Allow from all
</Proxy>
1
Shane Madden