У меня есть несколько веб-сайтов, работающих в докере с учетными данными LetsEncrypt и маршрутизируемых через traefik. Я хотел бы запустить локальный gitlab-ce в докере аналогично LetsEncrypt и traefik.
Итак, я добавил это в свой файл traefik.toml:
[[acme.domains]]
main = "gitlab.mydomain.com"
И это в config / gitlab.rb:
external_url "http://gitlab.mydomain.com"
И я запускаю gitlab с:
docker run -d --restart=always \
--hostname gitlab.mydomain.com \
--expose 80 \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
--volume /var/log/gitlab:/var/log/gitlab \
--label traefik.frontend.rule=Host:gitlab.mydomain.com \
--name gitlab gitlab/gitlab-ce:latest
Переходя на https://gitlab.mydomain.com/, я получаю защищенный сайт с сертификатом, созданным LetsEncrypt, но сайт не загружается:
Внутренняя Ошибка Сервера
Когда я перезагружаю страницу, я вижу это в docker logs gitlab -f
:
==> /var/log/gitlab/sshd/current <==
2017-02-12_16:51:31.00446 Bad protocol version identification 'GET / HTTP/1.1' from 172.17.0.8 port 41138
2017-02-12_16:51:31.26238 Bad protocol version identification 'GET /favicon.ico HTTP/1.1' from 172.17.0.8 port 41140
Выполняя поиск /error/i
в журналах, я вижу несколько вещей, которые могут быть проблемами (множество ошибок сообщается в zruby / gems / 2.3.0 / gems / redis-3.2.2z), но не "дымящегося пистолета" AFAICT.
И в довершение к безумию, примерно каждые десять (случайных) раз, когда я запускаю docker restart gitlab
, сайт работает идеально. У меня было искушение просто оставить это, но в этом и заключается безумие ...
Как я могу заставить его работать надежно? Или как я могу отладить это более полно?
http
наhttps
. Настроилиgitlab.rb
, чтобы указать на правильные сертификаты? - person Fairy   schedule 13.02.2017http
, иhttps
и указал gitlab на самоподписанные сертификаты, но сайт gitlab (случайным образом) появлялся только вhttp
. Это соответствует тому, как работают traefik и LetsEncrypt (и даже когда gitlab не запущен, на панели инструментов браузера отображается Secure с сертификатом LetsEncrypt). - person OpenPrivacy   schedule 13.02.2017GITLAB_HTTPS=false
настройками это всегда успех, ноGITLAB_HTTPS=true
никогда. - person aluc   schedule 11.06.2017