Я настраиваю контроль доступа к страницам Gitlab для частной установки Gitlab CE. Я следую этим инструкциям администратора: https://docs.gitlab.com/ce/administration/pages/#access-control
Я успешно настроил отдельный DNS (example.io
), который обслуживает страницы для нашего экземпляра gitlab (example.com
). До того, как я попытался использовать параметр конфигурации gitlab access_control
, этот URL работал отлично.
Выпуск
Мои страницы успешно создаются до https://group.example.io/project
. Я пытаюсь перейти по этому URL, и я перенаправлен на страницу OAuth Gitlab Pages, как и ожидалось.
Когда я нажимаю Авторизовать для приложения Gitlab Pages OAuth, я перенаправляюсь на https://projects.example.io/auth?...
, а затем на http://group.example.io/auth?...
. Обратите внимание, что последнее перенаправление осуществляется через http
, что не имеет смысла, так как я настроил весь трафик для направления через https
.
Когда я смотрю на набор печенья, у меня есть:
example.com
-> _gitlab_session
group.example.io
-> gitlab_pages
projects.example.io
-> gitlab_pages
Конфигурация
Использование gitlab omnibus в Ubuntu 18.08.
Наша gitlab.rb
конфигурация:
pages_external_url 'https://example.io'
pages_nginx['redirect_http_to_https'] = true
pages_nginx['ssl_certificate'] = "/etc/gitlab/ssl/pages.crt"
pages_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/pages.key"
gitlab_pages['access_control'] = true
Gitlab Pages Настройки приложения OAuth:
Переключатель Управление доступом к страницам установлен на Только участники проекта
Вопрос:
Кто-нибудь сталкивался с таким поведением?
Правильно ли настроено приложение OAuth Gitlab Pages ? Должен ли URI перенаправления быть другим?
Edit:
Я перенастроил свой DNS, чтобы он указывал на IP-адрес нашей локальной сети, и система работает нормально.
Я все еще не понимаю, почему Gitlab перенаправляет с OAuth на порт 80:
Поток сети выглядит так:
В данный момент у меня нет доступа к настройкам брандмауэра, но я думаю, что мы не разрешаем исходящий трафик порта 80. Это объясняет, почему запрос зависает, когда я использовал публичный IP-адрес, но успешно использует IP-адрес локальной сети.
Но у меня все еще остается вопрос, почему Gitlab пересылает трафик через порт 80, когда он запускается на 443?