Quantcast
Channel: smokycat.info » ALMinium
Viewing all articles
Browse latest Browse all 2

ALMiniumで入れたJenkinsが「リバースプロキシーの設定がおかしいようです。」って不機嫌な件

$
0
0

今日もモロハマリ\(^o^)/

ALMiniumでJenkinsさん入れてみたんだけど、管理画面に入ると上記のように

リバースプロキシーの設定がおかしいようです。

とエラーが表示される。
状況は以下のような感じです。

  • ALMiniumインストールするときに、Jenkins氏もインストールしてみた
  • ドメインは「foobar.example.com」的な独自ドメインを使用
  • httpsを強制する設定にした
  • apt-getでバージョンが古いJenkinsが入って、なんかエラーが出てそもそも動いてないので、Jenkinsのサイトから最新のwarをダウンロードして配置

詳細を押すと「Jenkins says my reverse proxy setup is broken」ってページに飛ぶ。
「レスポンス中に含まれるLocation:をapacheがちゃんと書き換えないといけない」とかなんとか書いてあるけど、よく分からない。

レスポンスヘッダは以下のようにしたら見える。

curl -ik https://foobar.example.com/jenkins

Running Jenkins behind Apache ってページを参考に、ALMiniumが配置した設定ファイルに最小の変更を加えてこのエラーを消してみた。

/etc/apache2/sites-available/redmine

<VirtualHost _default_:443>
SSLEngine On
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
DocumentRoot /opt/alminium/public

ExpiresActive On
ExpiresByType application/x-javascript A259200
ExpiresByType application/javascript A259200
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/gif A2592000
ExpiresByType text/css A2592000

##### Jenkinsのために追記。
AllowEncodedSlashes NoDecode

</VirtualHost>

/etc/apache2/sites-available/jenkins

<Location /jenkins>
  Order allow,deny
  Allow from all

  BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On

##### modified nocanonって追記して、RequestHeader云々追記した。
  ProxyPass        http://127.0.0.1:8080/jenkins nocanon
  ProxyPassReverse http://127.0.0.1:8080/jenkins
  RequestHeader set X-Forwarded-Proto "https"

  【中略。そのまま。】

</Location>

解決策から逆算して、以下の二つの問題があったっぽい。

  • httpsで繋いでるのに、レスポンスのLocation:がhttpsではなくhttpから始まってるのがまずかった。
  • リバースプロキシのテストのために【https://foobar.example.com/jenkins/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/testForReverseProxySetup/https%3A%2F%2Ffoobar.example.com%2Fjenkins%2Fmanage/】とかいうURLを見に行ってるっぽいが、Apacheの設定でこういうURLをそのままJenkinsに渡す設定にしてないとダメだった。

もうJenkinsさん、気難し屋すぎるよ。絶対執事キャラじゃない。

以前nginxの後ろでJenkinsさん動かしたときも、24時間ドハマリして、結局設定ファイルに1行だけ追記してちゃんと動いた記憶がある。
Jenkinsさん嫌い。


Viewing all articles
Browse latest Browse all 2

Trending Articles