jenkinsにhttpsで接続するためのnginxリバースプロキシ

スポンサーリンク

はじめに

前回までのjenkinsはAWS上に構築してテストしていますが、httpは不安があるのでhttpsにしておこうと思いnginxを使ってリバースプロキシをしておきます。

ついでにクライアント認証も追加しておきます。

http→httpsへのリダイレクトは設定してません。httpはEC2のセキュリティグループで閉じるので。

jenkinsに「リバースプロキシーの設定がおかしいようです。」と言われる日々だったorz

参考サイト

「リバースプロキシーの設定がおかしいようです。」と言われて一番参考になったサイト様

wiki

ディレクトリ構成とファイル

以下、前回からの続きです。

ディレクトリ構成

※workディレクトリ配下はjenkins関連がいっぱい詰まってて含めるとカオスになるので除外。

※dockerディレクトリ配下も同様の理由で除外

docker-compose.yaml

nginx:以下が追加分です。

servercertsはサーバ証明書、clientcertsはクライアント証明書です。

nginx/servercerts

ここと同様にオレオレサーバ証明書作成を作成しています。

 nginx/clientcerts

↑と同じくオレオレクライアント証明書を作成、と思ったんですが前に作ったやつをそのまま流用したので今回はコピーしただけ。

nginx/default.conf

nginxの設定で右往左往してました。

というのもリバースプロキシだけなら簡単なのですが、jenkinsの設定画面で

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

色々参考サイトなどを参考にしながら試した結果がこちら。NGも残しておきます。

NG

OK NGに$server_portを追加

OK LB追加して$server_portを削除

ここでは最後に書いた↑の設定を使っています。

起動と動作確認

いつも通りdocker-compose up -dで起動します。それだけです。

起動後はhttps://IPアドレスに接続すればOK。

その後Jenkinsの管理 → システムの設定からJenkinsの位置にあるJenkins URLを
https://IPアドレス/」にすると「リバースプロキシーの設定がおかしいようです。」が消えるはず。

ちなみにhttp://IPアドレス:8080にもこのままではアクセスできますが、EC2のセキュリティグループで閉じれば問題なし。

最後に

いつかHAProxyもさわるんだ(願望

関連コンテンツ



シェアする

  • このエントリーをはてなブックマークに追加

フォローする