GitLabのProject URLにローカルIPが表示されてしまう

以前の投稿でdocker-composeを使い、GitLabを5秒でインストールする方法を紹介しましたが、nginxのリバースプロキシを挟んで構築したときに、いくつか設定にハマりましたので紹介しておきます。

現状の構成はnginxでSSLを終端し、その後ろでgitlabコンテナが10080番でHTTPを待ち受けている構成になります。

1.リポジトリのアドレスがローカルIPになってしまう

まずは docker-compose 内に設定することがいくつかあります。
GitLabを5秒でインストールする方法の中で、ymlをwgetで持ってきていますが、以下を修正します。

  • GITLAB_HOST を localhost から domain.com に変更
  • SSL_SELF_SIGNED=true

2.New projectの Project URL のローカルIPが表示されてしまう。

新規にBlank projectを作るページに Project URL というものが表示されるのですが、上記のdocker-composeの設定は反映されなく、localhostでもなくローカルのipアドレスが表示されてしまっていました。
これは、GitLabの設定ではなく、nginxの設定が表示されていることがわかり、nginx.confもしくは、conf.d配下の個別のファイルの修正が必要です。

upstream domain.com {
	server 192.168.1.2:10080;
}

server {
    listen       443;
    server_name  domain.com;
    ssl on;

    location / {
	proxy_pass http://domain.com;
    }
        
    ssl_certificate 		/etc/nginx/gitlab-fullchain.pem;
    ssl_certificate_key 	/etc/nginx/gitlab-privkey.pem;

ポイントとしては、proxy_pass にきちんとドメインを書くこと、443で受けてますが、裏がhttpなのでここではhttpで指定。
その上のupstreamを使って、ローカルのサービスに振り分けることです。

かなりハマったので、メモ代わりに残しておきます。

コメントを残す

メールアドレスが公開されることはありません。