Jenkins + Nginx(SSL) 構成での「リバースプロキシの設定がおかしいようです。」問題

(1ヶ月前くらいの話だけど)解決できたからメモっておく。私のケースは、あまりにもしょーもない恥ずかしい話で、インターネッツに事例が見つからなかったので晒しておこうと思います。
以下、時系列に書いていきます。OSは Ubuntu 14.04 LTS でござる。

Jenkinsのインストール

# apt-get install openjdk-7-jre openjdk-7-jdk
# wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
# sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
# apt-get update
# apt-get install jenkins

サクッと。
ほぼ公式のUbuntuでのインストールページのまま。

# service jenkins start

とかで起動させると、8080ポートでLISTENしてくれるので、アクセスできると思う。

Nginx + SSL の設定

# apt-get install nginx

Nginxのインストールは、上記だけだったかな。

upstream jenkins {
  server 127.0.0.1:8080 fail_timeout=0;
}

server {
  listen 80;
  server_name jenkins.domain.tld;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl;
  server_name jenkins.domain.tld;

  ssl_certificate /etc/nginx/ssl/server.crt;
  ssl_certificate_key /etc/nginx/ssl/server.key;

  location / {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_redirect          http:// https://;
    proxy_pass              http://jenkins;
  }
}

Nginxの設定も、ほぼJenkinsサイトのドキュメントページのまま。
フロントのリバースプロキシ(Nginx)は、443(HTTPS)で受けて、バックエンドの8080(Jenkins)に投げるような設定です。SSL証明書の配置説明は割愛します。


とまぁ、前提としてはこんな感じです。

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

で、上記設定で Nginx + Jenkins を動かしてみたところ、問題なく動いている・・・んだけど、 "Jenkinsの管理" 画面のトップに「リバースプロキシの設定がおかしいようです。」と表示される。



これに関しては、公式のドキュメントや以下のエントリが参考になります。

原因は、 Location ヘッダの書き換えであったり、リバースプロキシでのURLエンコードの問題だったりすることが多いのですが、調べてみると今の環境では該当しない。
さて、なんでかなーと思っていたら、、、しょーもないミスだった。


[Jenkinsの設定] - [システムの管理] - [Jenkins URL] の設定値が、、、


という感じで、Jenkins単体でテストしていた時から、Jenkinsそのものの設定を変え忘れていただけだったという・・・。
ショボ過ぎるミスで、誰もハマらないから、インターネッツに誰も残していなかったのだろうけど、誰かもう1人くらいハマる人がいるかもしれないので、ここに残しておきますね!

それでは!=͟͟͞͞(๑•̀=͟͟͞͞(๑•̀д•́=͟͟͞͞(๑•̀д•́๑)=͟͟͞͞(๑•̀д•́


改訂新版Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

改訂新版Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

  • 作者: 佐藤聖規,和田貴久,河村雅人,米沢弘樹,山岸啓,川口耕介
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/06/10
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (3件) を見る