LINUX.ORG.RU
решено ФорумAdmin

Gitlab registry и нестандартный порт gitlab

 , ,


0

1

День добрый! Ситуация следующая, имеется сервак с установленной Hestia CP, на ней добавлен домен, ну пусть будет git.example.ru. На этом же сервере поднят гитлаб, но поднят на нестандартном порту 9691, пусть будет external_url ‘https://git.example.ru:9691’, т.к. хестия занимает порты 80 и 443. Под хестией сделан прокси темплейт, который домен git.example.ru проксипасит на git.example.ru:9691. Этот темплейт позволяет работать гиту напрямую по домену без прописывания порта, само собой при попытке попасть в гитлаб таким образом git.example.ru:9691 мы получим ошибку. В натройках гитлаба прописан кастомный урл git.example.ru без порта, чтобы без проблем работал гитклон. Вся эта схема работает, все шикарно. Проблема появляется дальше, я поднимаю регистри, условно на домене registry.example.ru, для инфы порт регистри 8092, под хестией запилен аналогичный темплейт, который шаблон регистри проксипасит куда надо и в целом у нас регистри работает норм, НО вот тут появляется проблема. Когда я делаю docker login registry.example.ru, ввожу логин и токен, далее вылетаю в ошибку Client.Timeout exceeded while awaiting headers), а если выше глянуть гет запрос, то там можно увидеть, что регистри идет в гит именно по ссылке из экстернал урл самого гитлаба, а именно https://git.example.ru:9691/, поэтому и падает в ошибку. Собственно вопрос - как для регистри указать кастомный урл гитлаба, чтобы он брал его не из external_url, а ходил на гитлаб без порта, по адресу https://git.example.ru?

обратный прокси решит все твои проблемы с необходимостью кастомных портов.

aol ★★★★★ ()

Вообщем проблема решена, просто в конфиг для регистри добавил строку - registry[‘token_realm’] = «https://git.example.ru», общий конфиг вышел: registry_external_url ‘https://registry.example.ru’ gitlab_rails[‘registry_enabled’] = true registry[‘enable’] = true registry_nginx[‘enable’] = false registry[‘token_realm’] = «https://git.example.ru»

В темплейте для домена в hestia cp проксипасим - proxy_pass http://localhost:5000/;

Все работает, может кому пригодится.

sergei5770 ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.