Skip to content

Настройка ssl Gitlab

Настройка SSL для GitLab на VDS

Эта инструкция поможет настроить SSL-шифрование (HTTPS) для вашего экземпляра GitLab, установленного на VDS (виртуальном выделенном сервере) с помощью официального пакета Omnibus.

Предварительные требования

Перед началом настройки убедитесь, что:

  1. У вас есть доменное имя (например, gitlab.yourdomain.com), которое направлено на публичный IP-адрес вашего VDS. Это можно проверить командой ping gitlab.yourdomain.com.
  2. У вас есть доступ к серверу с правами root или через sudo.
  3. GitLab уже установлен на сервере.
  4. Порты 80 (HTTP) и 443 (HTTPS) открыты в вашем брандмауэре.

Способ 1: Автоматическая настройка с Let's Encrypt

Это самый простой и рекомендуемый способ, если у вас есть доменное имя. GitLab автоматически получит бесплатный SSL-сертификат и будет его обновлять.

  1. Откройте файл конфигурации GitLab:

    # В Linux используйте `sudo nano /etc/gitlab/gitlab.rb`
    # Если вы работаете из Windows, подключитесь к серверу по SSH и выполните команду
    sudo nano /etc/gitlab/gitlab.rb
  2. Укажите домен и включите 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']
  3. Примените конфигурацию:

    Сохраните изменения в файле и выполните команду:

    sudo gitlab-ctl reconfigure

    Эта команда применит настройки, запросит сертификат и перезапустит сервисы GitLab.

Способ 2: Ручная установка собственного SSL-сертификата

Используйте этот метод, если у вас уже есть SSL-сертификат от стороннего центра сертификации.

  1. Создайте директорию для сертификатов:

    sudo mkdir -p /etc/gitlab/ssl
    sudo chmod 700 /etc/gitlab/ssl
  2. Скопируйте файлы сертификата и ключа:

    Ваши файлы сертификата (.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.

  3. Установите безопасные права доступа:

    sudo chmod 600 /etc/gitlab/ssl/*
  4. Отредактируйте файл конфигурации GitLab:

    Откройте /etc/gitlab/gitlab.rb и укажите ваш external_url с https:

    external_url 'https://gitlab.yourdomain.com'
    
    # Убедитесь, что Let's Encrypt отключен (закомментирован или false)
    # letsencrypt['enable'] = false
  5. Примените конфигурацию:

    sudo gitlab-ctl reconfigure

    GitLab автоматически обнаружит сертификаты и настроит веб-сервер.