5

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 "

誰かがそれを機能させる方法を知っていますか?ありがとう。

4

2 に答える 2

5

Jenkinsでも認証を有効にしていますか?これを設定する手順については、次のリンクを参照してください:https ://wiki.jenkins-ci.org/display/JENKINS/Apache+frontend+for+security。

特に、JenkinsとApacheでセキュリティを同時に有効にすることはできないという行に注意してください。これは、2つが競合し、表示される無限のプロンプトが発生するためです。残念ながら、どちらかを選択する必要があります。

Apache + Jenkinsのセットアップのより一般的な説明については、次のリンクも参照してください:https ://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache

于 2012-11-02T17:47:28.263 に答える
1

この設定を試してください

ProxyPass         /jenkins/  http://localhost:8080/jenkins/
ProxyPassReverse  /jenkins/  http://localhost:8080/jenkins/
ProxyRequests     Off
ProxyPreserveHost On

<Proxy http://localhost:8080/jenkins*>
    AllowOverride None
    Order allow,deny
    allow from all
    AuthName            "jenkins"
    AuthBasicProvider   file
    AuthType            basic
    AuthUserFile        /etc/apache2/passfile
    <Limit GET POST>
        require valid-user      
    </Limit>
    Satisfy all
</Proxy>
于 2012-10-30T13:58:03.300 に答える