基本的な HTTP 認証を使用して Tomcat サーバーで Jenkins を実行する方法について、適切な説明が見つからないようです。
いくつかの基本情報:
OS: Windows 7 64 ビット
Tomcat バージョン: 7.0.40
Jenkins バージョン: 1.516
Reverse-Proxy Auth Plugin バージョン: 1.0.1
Java SDK バージョン: 1.7.0_17
Java JRE バージョン: 7
Chrome および IE でテスト済み
私は現在、Reverse-Proxy Auth Plugin ( https://wiki.jenkins-ci.org/display/JENKINS/Reverse+Proxy+Auth+Plugin ) を有効にして、Tomcat サーバーで Jenkins を正常に起動し、実行しています。に追加されtomcat-users.xml
、いくつかの行が追加されましたweb.xml
。どちらも下に表示されます。(どちらのファイルも にありますC:/Program Files/Apache Software Foundation/Tomcat 7.0/conf/
)
tomcat-users.xml (1 つのロールと 1 つのユーザーを追加する以外はすべてデフォルトです)
<role rolename="Administrator"/>
<user username="John" password="password" roles="Administrator"/>
web.xml (このセクションの追加以外はすべてデフォルト)
<security-constraint>
<web-resource-collection>
<web-resource-name>
Jenkins
</web-resource-name>
<url-pattern>/jenkins/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Administrator</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
理由はわかりませんが、 にアクセスするたびに、http://localhost:8080
またはhttp://localhost:8080/jenkins
ログイン プロンプトが表示されませんが、 を に変更する<url-pattern>/jenkins/*</url-pattern>
と、 に移動<url-pattern>/*</url-pattern>
するだけでログイン プロンプトが表示されますhttp://localhost:8080
。これで問題ありません。ログインした後、/jenkins にアクセスすると、ログイン ページが表示されますが、すべて「めちゃくちゃ」です [リソースが表示されず、ページが壊れているように見えます]。
これは次のようになります。
これは、私が抱えているのと同じ問題に近いことがわかったリンクです。https://groups.google.com/forum/?fromgroups#!topic/jenkinsci-users/AVTklGHmzkc
どんな助けでも大歓迎です!
EDIT 1
必要/関連する場合に備えて、Javaのバージョンを追加しました
EDIT 2
「壊れた」ときのジェンキンスの様子の写真を追加しました
更新 1
それでも同じ問題が発生し、web.xml ファイルでさまざまな組み合わせを試しましたが、それでも同じ問題が発生します。
更新 2
修正はまだ見つかりませんが、回避するために最善を尽くしています。url-pattern を に設定し、/*
Tomcat にログインし、サーバーを停止し、元に戻して/jenkins/*
(何もしないと思います)、サーバーを再起動してから、Jenkins ページに移動して、認証済みの HTTP ヘッダーを取得します。まだ問題の解決策を探していますが、まだ見つけていません...