2017-08-19 2 views
0

を禁止403:私はたくさんのを実行していますので、ジェンキンス - を経由して私はUbuntuの16.04、サーバー上のジェンキンスをインストール

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - 
echo "deb https://pkg.jenkins.io/debian-stable binary/" >> /etc/apt/sources.list 
apt update 
apt install jenkins 

は、その後、私は最終的にHTTP_PORT=8000/etc/default/jenkinsでポートを変更して/etc/default/jenkinsファイルに--httpPort=$HTTP_PORT --prefix=$PREFIXを追加し、 apacheの経由のものはすでにとにかく私はそこにプロキシを追加しました:

ProxyErrorOverride On 
ProxyPass "/jenkins" "http://127.0.0.1:8000/jenkins/" 
ProxyPassReverse "/jenkins" "http://127.0.0.1/jenkins/" 

しかし、私はhttps://MY_URL/jenkinsにアクセスしようとしたとき、私は

を取得します

Forbidden

You don't have permission to access /jenkins on this server.

しかし、サーバーでcurl localhost:8000を実行すると、そのページが表示されるようです。だから、少なくともそのポートで動作しているようですが、私はApacheを経由してアクセスできません(/ gitlabのような他のプロキシも同じ方法で動作します)。

ここで問題が発生する可能性がある人はいますか?

編集:私はProxyErrorOverride Onを無効にすると、私は最終的に私は管理者パスワードを入力しますが、そうすることが、再び同じページに私をリダイレクトすることができますページを参照してくださいhttps://my_url/jenkins/login?from=%2Fjenkins%2F - >https://my_url/jenkins/login?from=%2Fjenkins%2F%2Fj_acegi_security_checkを。
ので、apacheのための現在の設定は次のようになります。

## Proxy Settings 
ProxyRequests   Off 
ProxyPreserveHost  On 
AllowEncodedSlashes NoDecode 
SetEnv     proxy-nokeepalive 1 
ProxyPass    "/gitlab" "http://127.0.0.1:8001/gitlab/" 
ProxyPassReverse  "/gitlab" "http://127.0.0.1:8001/gitlab/" 
ProxyPass    "/jenkins" "http://127.0.0.1:8000/jenkins/" nocanon 
ProxyPassReverse  "/jenkins" "http://127.0.0.1:8000/jenkins/" 
ProxyPassReverse  "/jenkins" "http://my_url/jenkins/" 
RequestHeader   set X-Forwarded-Proto "https" 
RequestHeader   set X-Forwarded-Port "443" 
+0

ここでドキュメントを見ましたか? https://wiki.jenkins.io/display/JENKINS/Running+Jenkins+behind+Apache – axlj

+0

はい私は 'ProxyPreserveHost On、ProxyRequests Off、AllowEncodedSlashes NoDecode、SetEnv proxy-nokeepalive 1'を試しました。 ProxyPassに 'nocanon'を追加するだけでなく、しかし、目に見える変化はありません。 – Hering

答えて

0

さてさて、私は最終的にエラーを見つけました: まずProxyErrorOverride Onは削除されなければならなかったと第二私はこのようなProxyPassディレクティブの末尾のスラッシュを削除する必要がありました:

ProxyPass    "/jenkins" "http://127.0.0.1:8000/jenkins" nocanon 
ProxyPassReverse  "/jenkins" "http://127.0.0.1:8000/jenkins" 
ProxyPassReverse  "/jenkins" "http://my_url/jenkins" 

興味深いことに、gitlabは正しく動作する必要があり、「/」がある場合はジェンキンズが動作しません。

関連する問題