Я пытаюсь настроить Монитор прокси 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-адрес, но теперь это работает так, как ожидалось.