Я начал заглядывать в ssl-сертификаты, когда я наткнулся на зашифровать, и я хотел использовать его с gitlab, однако, будучи тем, что он работает на малине pi 2, и теперь он работает совершенно отлично (поэтому я не хочу ничего путать), он бы хотел установить, правильно ли шифрует ssl-сертификат? PS: Моя установка - omnibus
Как использовать шифрование с помощью gitlab?
Ответ 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
Ответ 3
Вам нужно установить сгенерированные сертификаты вручную в /etc/gitlab/ssl
и установить внешний url на https в /etc/gitlab/gitlab.rb
, как описано в: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md
Ответ 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
Я предпочитаю использовать символические ссылки, поэтому вам не нужно копировать сертификаты. введите ссылку здесь