Ubuntuサーバー12.04.1で実行されているApacheのリバースプロキシサイトに基本認証を追加したいと思います。
Webアプリケーションは、JavaEEコンテナで実行されているJenkinsです。
httpd.confに以下の構成を追加しました。
ProxyPass /jenkins/ http://localhost:8080/jenkins/¬
ProxyPassReverse /jenkins/ http://localhost:8080/jenkins/¬
ProxyRequests Off¬
ProxyPreserveHost On¬
¬
<Proxy http://localhost:8080/jenkins*>¬
Order deny,allow¬
Deny from all¬
▸ AllowOverride AuthConfig¬
▸ AuthType Basic¬
AuthName "jenkins"¬
▸ AuthBasicProvider file¬
AuthUserFile /etc/apache2/passfile¬
▸ Require valid-user¬
▸ Satisfy any¬
</Proxy>
認証に間違ったパスワードまたは存在しないユーザー名を使用した場合、apacheのerror.logに以下のメッセージが表示されます。
[2012年10月27日土曜日17:51:59][エラー][クライアント222.128.175.95]ユーザーkane:「/ jenkins /」の認証失敗:パスワードの不一致[2012年10月27日土曜日17:52:04][エラー][クライアント222.128.175.95]ユーザーAladdinが見つかりません:/ jenkins /
passfileで正しいユーザーとパスワードを使用すると、メッセージはログに記録されません。Webブラウザに正しいユーザーとパスワードを入力しましたが、認証ダイアログが再度表示されます。また、apacheのaccess.logに以下の出力があります。
222.128.175.95 --kane [27 / Oct / 2012:17:39:54 +0800] "GET / jenkins / HTTP / 1.1" 401 794 "-" "Mozilla / 5.0(Macintosh; Intel Mac OS X 10_8_2)AppleWebKit / 537.4 (KHTML、Geckoなど)Chrome / 22.0.1229.94 Safari / 537.4 "
誰かがそれを機能させる方法を知っていますか?ありがとう。