を禁止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"
ここでドキュメントを見ましたか? https://wiki.jenkins.io/display/JENKINS/Running+Jenkins+behind+Apache – axlj
はい私は 'ProxyPreserveHost On、ProxyRequests Off、AllowEncodedSlashes NoDecode、SetEnv proxy-nokeepalive 1'を試しました。 ProxyPassに 'nocanon'を追加するだけでなく、しかし、目に見える変化はありません。 – Hering