Как изменить домен в панели Remnawave
Это руководство поможет изменить текущий домен панели Remnawave (например, olddomain.com) на новый (например, newdomain.com): выпустить SSL-сертификат, обновить конфигурационные файлы и перенести адреса внутри панели. Если панель работает вместе с нодой, в конце есть дополнительные шаги.
Шаг 1. Сертификат для нового домена
Заголовок раздела «Шаг 1. Сертификат для нового домена»Сертификат выпускается модулем скрипта: вручную через certbot ничего делать не нужно.
-
Запустите меню скрипта командой
remnawave_reverse(или коротким алиасомrr):root@server: ~ remnawave_reverse -
Выберите пункт
11(Управление сертификатами домена), затем в подменю пункт2:Управление сертификатами домена 1.Обновить текущие сертификаты 2.Сгенерировать новые сертификаты для другого домена 3.Установить свой сертификат 4.Настроить Telegram-уведомления о сертификатах 0.Выход Выберите действие:2
-
Введите новый домен и выберите метод выпуска: DNS API (Cloudflare, Gcore, Bunny.net: wildcard, записи создаются по ключу автоматически), ACME HTTP-01 (без API-ключа) или свой сертификат:
Введите домен для новых сертификатов (например, 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):
-
После успешного выполнения сертификаты для нового домена появятся рядом со старыми:
Директория/etc/letsencrypt/ - корневая директория сертификатов
Директорияlive
Директорияnewdomain.com - новый домен
- fullchain.pem
- privkey.pem
Директорияolddomain.com - старый домен
- fullchain.pem
- privkey.pem
Шаг 2. Конфигурация
Заголовок раздела «Шаг 2. Конфигурация»Выберите свой вариант установки: списки файлов совпадают, но конфигурации отличаются.
-
Откройте файл
.envдля редактирования:root@server: ~ nano /opt/remnawave/.env -
Найдите строку с текущим доменом и замените её на новый:
.env FRONT_END_DOMAIN=newdomain.com -
Откройте файл
docker-compose.yml:root@server: ~ nano /opt/remnawave/docker-compose.yml -
Найдите сервис
remnawave-nginxи обновите пути к сертификатам, заменивolddomain.comнаnewdomain.com:docker-compose.yml remnawave-nginx:image: nginx:1.28container_name: remnawave-nginxhostname: remnawave-nginxrestart: alwaysvolumes:- ./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:ronetwork_mode: hostdepends_on:- remnawave- remnawave-subscription-pagelogging:driver: 'json-file'options:max-size: '30m'max-file: '5' -
Откройте файл nginx.conf:
root@server: ~ nano /opt/remnawave/nginx.conf -
Найдите блок 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;}} -
Перезапустите сервисы, чтобы применить изменения:
root@server: ~ cd /opt/remnawave && docker compose down && docker compose up -d
-
Откройте файл
.envдля редактирования:root@server: ~ nano /opt/remnawave/.env -
Найдите строку с текущим доменом и замените её на новый:
.env FRONT_END_DOMAIN=newdomain.com -
Откройте файл
docker-compose.yml:root@server: ~ nano /opt/remnawave/docker-compose.yml -
Найдите сервис
remnawave-nginxи обновите пути к сертификатам, заменивolddomain.comнаnewdomain.com:docker-compose.yml remnawave-nginx:image: nginx:1.28container_name: remnawave-nginxhostname: remnawave-nginxnetwork_mode: hostrestart: alwaysvolumes:- ./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- /dev/shm:/dev/shm:rw- /var/www/html:/var/www/html:rocommand: sh -c 'rm -f /dev/shm/nginx.sock && nginx -g "daemon off;"'depends_on:- remnawave- remnawave-subscription-pagelogging:driver: 'json-file'options:max-size: '30m'max-file: '5' -
Откройте файл nginx.conf:
root@server: ~ nano /opt/remnawave/nginx.conf -
Найдите блок панели server и замените
olddomain.comнаnewdomain.com:nginx.conf server {server_name newdomain.com;listen unix:/dev/shm/nginx.sock ssl proxy_protocol;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 / {error_page 418 = @unauthorized;recursive_error_pages on;if ($authorized = 0) {return 418;}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;}location @unauthorized {root /var/www/html;index index.html;}} -
Найдите блок ноды server и замените
olddomain.comнаnewdomain.com:nginx.conf server {server_name newdomain.com;listen unix:/dev/shm/nginx.sock ssl proxy_protocol;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";root /var/www/html;index index.html;} -
Откройте панель по защищённому порту: запустите
remnawave_reverse, выберите пункт3(Управление панелью/нодой), затем пункт6(«Доступ к панели через порт 8443», появляется только в связке панель + нода) и перейдите в браузере по адресу, который выдаст скрипт. -
Внутри панели перенесите адреса на новый домен:
-
Ноды → Управление → выберите вашу ноду (Steal) → измените поле Адрес на
172.30.0.1→ Сохранить.
-
Хосты → ваш хост → в поле Адрес введите
newdomain.com→ Сохранить. -
Профили → ваш профиль (StealConfig) → измените
serverNamesнаnewdomain.com→ Сохранить.
-
-
Закройте доступ к порту 8443:
remnawave_reverse→ пункт3→ пункт6. -
Перезапустите сервисы:
root@server: ~ cd /opt/remnawave && docker compose down && docker compose up -d
Проверка результата
Заголовок раздела «Проверка результата»-
Откройте браузер и перейдите на новый домен (не забывая про секретную ссылку с куками):
root@server: ~ https://newdomain.com/auth/login?zIdejKtN=MWbLrRzx -
Убедитесь, что панель Remnawave загружается корректно и сертификат SSL работает.
-
Если возникают ошибки, проверьте логи:
root@server: ~ cd /opt/remnawave && docker compose logs -f -
Если панель не открывается, убедитесь, что DNS-записи для
newdomain.comобновлены и указывают на ваш сервер.
