Перейти к содержимому

Как изменить домен в панели Remnawave

Это руководство поможет изменить текущий домен панели Remnawave (например, olddomain.com) на новый (например, newdomain.com): выпустить SSL-сертификат, обновить конфигурационные файлы и перенести адреса внутри панели. Если панель работает вместе с нодой, в конце есть дополнительные шаги.

DNS и сертификат

A-запись нового домена и SSL-сертификат через модуль скрипта (меню 11).

Конфигурационные файлы

.env, docker-compose.yml и nginx.conf в /opt/remnawave.

Адреса в панели (панель + нода)

Адрес ноды, адрес хоста и serverNames профиля меняются через веб-интерфейс.

Сертификат выпускается модулем скрипта: вручную через certbot ничего делать не нужно.

  1. Запустите меню скрипта командой remnawave_reverse (или коротким алиасом rr):

    root@server: ~
    remnawave_reverse
  2. Выберите пункт 11 (Управление сертификатами домена), затем в подменю пункт 2:

    root@server: ~
    Управление сертификатами домена
    
    1.Обновить текущие сертификаты
    2.Сгенерировать новые сертификаты для другого домена
    3.Установить свой сертификат
    4.Настроить Telegram-уведомления о сертификатах
    
    0.Выход
    
    Выберите действие:2
  3. Введите новый домен и выберите метод выпуска: DNS API (Cloudflare, Gcore, Bunny.net: wildcard, записи создаются по ключу автоматически), ACME HTTP-01 (без API-ключа) или свой сертификат:

    root@server: ~
    Введите домен для новых сертификатов (например, example.com):newdomain.com
    
    Выберите метод генерации сертификатов для всех доменов:
    
    1.Cloudflare DNS API
    Wildcard, DNS-записи создаются автоматически по API-ключу
    2.Gcore DNS API
    Wildcard, DNS-записи создаются автоматически по API-ключу
    3.Bunny.net DNS API
    Wildcard, DNS-записи создаются автоматически по API-ключу
    
    4.ACME HTTP-01
    Без API-ключа, по одному домену на сертификат
    
    5.Установить свой сертификат
    Загрузите свой fullchain.pem и privkey.pem
    
    0.Выход
    
    Выберите действие (0-5):
  4. После успешного выполнения сертификаты для нового домена появятся рядом со старыми:

    • Директория/etc/letsencrypt/ - корневая директория сертификатов
      • Директорияlive
        • Директорияnewdomain.com - новый домен
          • fullchain.pem
          • privkey.pem
        • Директорияolddomain.com - старый домен
          • fullchain.pem
          • privkey.pem

Выберите свой вариант установки: списки файлов совпадают, но конфигурации отличаются.

  1. Откройте файл .env для редактирования:

    root@server: ~
    nano /opt/remnawave/.env
  2. Найдите строку с текущим доменом и замените её на новый:

    .env
    FRONT_END_DOMAIN=newdomain.com
  3. Откройте файл docker-compose.yml:

    root@server: ~
    nano /opt/remnawave/docker-compose.yml
  4. Найдите сервис remnawave-nginx и обновите пути к сертификатам, заменив olddomain.com на newdomain.com:

    docker-compose.yml
    remnawave-nginx:
    image: nginx:1.28
    container_name: remnawave-nginx
    hostname: remnawave-nginx
    restart: always
    volumes:
    - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
    - /etc/letsencrypt/live/newdomain.com/fullchain.pem:/etc/nginx/ssl/newdomain.com/fullchain.pem:ro
    - /etc/letsencrypt/live/newdomain.com/privkey.pem:/etc/nginx/ssl/newdomain.com/privkey.pem:ro
    network_mode: host
    depends_on:
    - remnawave
    - remnawave-subscription-page
    logging:
    driver: 'json-file'
    options:
    max-size: '30m'
    max-file: '5'
  5. Откройте файл nginx.conf:

    root@server: ~
    nano /opt/remnawave/nginx.conf
  6. Найдите блок server и замените olddomain.com на newdomain.com:

    nginx.conf
    server {
    server_name newdomain.com;
    listen 443 ssl;
    http2 on;
    ssl_certificate "/etc/nginx/ssl/newdomain.com/fullchain.pem";
    ssl_certificate_key "/etc/nginx/ssl/newdomain.com/privkey.pem";
    ssl_trusted_certificate "/etc/nginx/ssl/newdomain.com/fullchain.pem";
    add_header Set-Cookie $set_cookie_header;
    location / {
    if ($authorized = 0) {
    return 444;
    }
    proxy_http_version 1.1;
    proxy_pass http://remnawave;
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_send_timeout 60s;
    proxy_read_timeout 60s;
    }
    }
  7. Перезапустите сервисы, чтобы применить изменения:

    root@server: ~
    cd /opt/remnawave && docker compose down && docker compose up -d
  1. Откройте браузер и перейдите на новый домен (не забывая про секретную ссылку с куками):

    root@server: ~
    https://newdomain.com/auth/login?zIdejKtN=MWbLrRzx
  2. Убедитесь, что панель Remnawave загружается корректно и сертификат SSL работает.

  3. Если возникают ошибки, проверьте логи:

    root@server: ~
    cd /opt/remnawave && docker compose logs -f
  4. Если панель не открывается, убедитесь, что DNS-записи для newdomain.com обновлены и указывают на ваш сервер.