Подтвердить что ты не робот

Как использовать шифрование с помощью gitlab?

Я начал заглядывать в ssl-сертификаты, когда я наткнулся на зашифровать, и я хотел использовать его с gitlab, однако, будучи тем, что он работает на малине pi 2, и теперь он работает совершенно отлично (поэтому я не хочу ничего путать), он бы хотел установить, правильно ли шифрует ssl-сертификат? PS: Моя установка - omnibus

4b9b3361

Ответ 1

Самое лучшее решение, которое я смог найти сейчас, описано в этом сообщении в блоге. Я не буду читать все, но ключевые моменты:

  • Использовать аутентификатор webroot для Let Encrypt
  • Создайте папку /var/www/letsencrypt и используйте этот каталог как webroot-path для Let Encrypt
  • Измените следующие значения конфигурации в /etc/gitlab/gitlab.rb и запустите gitlab-ctl reconfigure после этого:

    nginx['redirect_http_to_https'] = true
    nginx['ssl_certificate']= "/etc/letsencrypt/live/gitlab.yourdomain.com/fullchain.pem"
    nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.yourdomain.com/privkey.pem"
    nginx['custom_gitlab_server_config']="location ^~ /.well-known {\n alias /var/www/letsencrypt/.well-known;\n}\n"
    
  • Если вы используете Mattermost, который поставляется вместе с пакетом Omnibus, вы можете дополнительно установить эти параметры в /etc/gitlab/gitlab.rb:

    mattermost_nginx['redirect_http_to_https'] = true
    mattermost_nginx['ssl_certificate']= "/etc/letsencrypt/live/gitlab.yourdomain.com/fullchain.pem"
    mattermost_nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.yourdomain.com/privkey.pem"
    mattermost_nginx['custom_gitlab_mattermost_server_config']="location ^~ /.well-known {\n alias /var/www/letsencrypt/.well-known;\n}\n"
    
  • После запроса вашего первого сертификата не забудьте изменить external_url на https://... и снова запустите gitlab-ctl reconfigure

Этот метод очень изящный, поскольку он просто монтирует каталог /var/www/letsencrypt/.well-known, используемый аутентификатором Let Encrypt в веб-root Gitlab через настраиваемую конфигурацию Nginx, и аутентификация всегда возможна, когда Gitlab работает. Это означает, что вы можете автоматически обновить сертификаты Let Encrypt.

Ответ 2

Я понятия не имею, отличается ли установка от малины Pi. Пусть процесс установки Encrypt делает какую-то магию, о которой я ничего не знаю.

Подготовить Gitlab

Введите grep 'external_url' /etc/gitlab/gitlab.rb, чтобы проверить имя веб-сайта. В качестве примера https:// gitlab.example.com: 50000

Если ваш внешний URL-адрес не начинается с https, измените его, чтобы начать с https

Часть, выделенная полужирным шрифтом, будет вашей <your domain name>

Создание сертификатов

Следуйте инструкциям по установке Let Encrypt по этой ссылке: https://letsencrypt.org/howitworks/

Я не копирую инструкции, так как они могут меняться (поскольку программа находится в открытой бета-версии прямо сейчас). То, что вам нужно запустить, зависит от того, есть ли у вас веб-сайты, запущенные на Apache, которые вы хотите сгенерировать. Пусть шифрует сертификаты для.

Как только вы создали свои сертификаты Let Encrypt, они расположены в /etc/letsencrypt/live/<your domain name>/

Скопируйте сертификаты

Gitlab ожидает, что два файла находятся в /etc/gitlab/ssl/

Что-то я не уверен, вам, возможно, придется преобразовать сертификаты .pem, используя ответ в этом месте: Преобразовать .pem в .crt и .key

Скопируйте сертификат с /etc/letsencrypt/live/<your domain name>/cert.pem на /etc/gitlab/ssl/<your domain name>.crt

Скопируйте закрытый ключ из /etc/letsencrypt/live/<your domain name>/privkey.pem в /etc/gitlab/ssl/<your domain name>.key

Reconfigure

Выполнить gitlab-ctl reconfigure

Ответ 4

В случае, если это полезно для кого-то еще, я написал процесс, который я использовал здесь: http://kelan.io/2016/using-lets-encrypt-to-add-ssl-to-gitlab/

Я установил GitLab ранее (через установку из источника) и просто пытался добавить SSL, используя Let Encrypt.

Ключевыми моментами являются:

  • Используйте standalone режим letsencrypt
  • Сделайте копию сертификатов, читаемых gitlab-shell

Ответ 5

Вам нужно установить сгенерированные сертификаты вручную в /etc/gitlab/ssl и установить внешний url на https в /etc/gitlab/gitlab.rb, как описано в: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md

Я предпочитаю использовать символические ссылки, поэтому вам не нужно копировать сертификаты. введите ссылку здесь