Настройка ssl Gitlab
Настройка SSL для GitLab на VDS
Эта инструкция поможет настроить SSL-шифрование (HTTPS) для вашего экземпляра GitLab, установленного на VDS (виртуальном выделенном сервере) с помощью официального пакета Omnibus.
Предварительные требования
Перед началом настройки убедитесь, что:
- У вас есть доменное имя (например,
gitlab.yourdomain.com), которое направлено на публичный IP-адрес вашего VDS. Это можно проверить командойping gitlab.yourdomain.com. - У вас есть доступ к серверу с правами
rootили черезsudo. - GitLab уже установлен на сервере.
- Порты
80(HTTP) и443(HTTPS) открыты в вашем брандмауэре.
Способ 1: Автоматическая настройка с Let's Encrypt
Это самый простой и рекомендуемый способ, если у вас есть доменное имя. GitLab автоматически получит бесплатный SSL-сертификат и будет его обновлять.
-
Откройте файл конфигурации GitLab:
# В Linux используйте `sudo nano /etc/gitlab/gitlab.rb` # Если вы работаете из Windows, подключитесь к серверу по SSH и выполните команду sudo nano /etc/gitlab/gitlab.rb -
Укажите домен и включите Let's Encrypt:
Найдите и раскомментируйте или добавьте следующие строки в файл конфигурации, заменив
gitlab.yourdomain.comна ваш домен:# Указываем полный URL с https external_url 'https://gitlab.yourdomain.com' # Включаем интеграцию с Let's Encrypt letsencrypt['enable'] = true # (Опционально) Укажите ваш email для уведомлений от Let's Encrypt # letsencrypt['contact_emails'] = ['your-email@example.com'] -
Примените конфигурацию:
Сохраните изменения в файле и выполните команду:
sudo gitlab-ctl reconfigureЭта команда применит настройки, запросит сертификат и перезапустит сервисы GitLab.
Способ 2: Ручная установка собственного SSL-сертификата
Используйте этот метод, если у вас уже есть SSL-сертификат от стороннего центра сертификации.
-
Создайте директорию для сертификатов:
sudo mkdir -p /etc/gitlab/ssl sudo chmod 700 /etc/gitlab/ssl -
Скопируйте файлы сертификата и ключа:
Ваши файлы сертификата (
.crt) и приватного ключа (.key) должны быть названы в соответствии с вашим доменным именем.- Ключ:
gitlab.yourdomain.com.key - Сертификат:
gitlab.yourdomain.com.crt
Скопируйте их в созданную директорию:
sudo cp /path/to/your/gitlab.yourdomain.com.key /etc/gitlab/ssl/ sudo cp /path/to/your/gitlab.yourdomain.com.crt /etc/gitlab/ssl/Примечание: Если у вас есть файл цепочки промежуточных сертификатов, его содержимое нужно добавить в конец основного файла
.crt. - Ключ:
-
Установите безопасные права доступа:
sudo chmod 600 /etc/gitlab/ssl/* -
Отредактируйте файл конфигурации GitLab:
Откройте
/etc/gitlab/gitlab.rbи укажите вашexternal_urlсhttps:external_url 'https://gitlab.yourdomain.com' # Убедитесь, что Let's Encrypt отключен (закомментирован или false) # letsencrypt['enable'] = false -
Примените конфигурацию:
sudo gitlab-ctl reconfigureGitLab автоматически обнаружит сертификаты и настроит веб-сервер.