Назад | Перейти на главную страницу

Использование докера Gitlab за докером прокси-сервера nginx

Я пытаюсь настроить Монитор прокси Nginx(NGPM) в качестве обратного прокси для Gitlab и других веб-сайтов / сервисов. Сам Gitlab работает внутри контейнера докеров, у которого есть собственный IP-адрес. NGPM также находится внутри контейнера докеров. Оба контейнера работают на сервере Unraid (и были установлены из «приложений», которые в данном случае являются предварительно заполненными шаблонами докеров).

Я пробовал это:
https://www.itsfullofstars.de/2019/06/gitlab-behind-a-reverse-proxy/

Но это просто привело к 502 Bad Gateway ошибка от Nginx.

Также пробовал некоторые другие вещи, но большинство ссылок, которые я нахожу, говорят об отделении nginx от gitlab с nginx на той же машине, указывающей на некоторые вещи gitlab.

На данный момент я не понимаю, почему ничего не работает, и просто копаюсь в файлах конфигурации, не зная, что делаю. Я даже не знаю, что вам предоставить, чтобы помочь мне, так что, пожалуйста, если вам что-то понадобится. чтобы помочь мне с моей проблемой, я с удовольствием прикреплю это.

Редактировать журналы:
Журнал ошибок выглядит так:

2020/06/24 11:55:54 [error] 2834#2834: *1966 connect() failed (113: Host is unreachable) while connecting to upstream, client: 0.0.0.0, server: develop.company.com, request: "GET / HTTP/2.0", upstream: "http://192.168.10.170:80/", host: "develop.company.com", referrer: "http://192.168.10.135:7818/nginx/proxy" 

Журнал доступа выглядит так:

[24/Jun/2020:11:49:56 +0200] - 502 502 - GET https develop.company.com "/" [Client 0.0.0.0] [Length 166] [Gzip -] [Sent-to 192.168.10.170] "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0" "http://192.168.10.135:7818/nginx/proxy"   
[24/Jun/2020:11:49:56 +0200] - - 499 - GET https develop.company.com "/favicon.ico" [Client 0.0.0.0] [Length 0] [Gzip -] [Sent-to 192.168.10.170] "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0" "-"

Обратите внимание, что я изменил IP-адрес клиента с целью загрузки сюда. Поскольку я тестирую его из сети, в которой расположены прокси и gitlab, это наш внешний IP.

Изменить конфигурацию:
Gitlab:
Я пробовал только с этим:
external_url="https://develop.company.com
Но также это:
nginx['listen_port'] = 80
nginx['listen_https'] = false

Я также пробовал вариант http для external_url.

NGPM:

Я также пробовал http с 443, https с 80, но это не имело значения (и тоже не имело бы большого смысла).

Мостовое соединение для контейнера докеров в Unraid вместо того, чтобы дать ему собственный IP-адрес, помогло добиться цели, обратный прокси-сервер, похоже, теперь работает нормально.

Здесь вся необходимая «настройка».
В файле gitlab.rb нужно раскомментировать / установить эти значения:

external_url="https://develop.company.com
nginx['listen_port'] = 80
nginx['listen_https'] = false

Обратите внимание, что https:// здесь необходимо.

Запись в NGPM:

Конфигурация контейнера Unraid:

Так что да. Не знаю, почему это не сработало, когда у Gitlab был собственный IP-адрес, но теперь это работает так, как ожидалось.