Как правильно настроить на Synology обратный прокси, чтобы он корректно перенаправлял запросы на aaPanel?

Всем добрый день. Помогите, пожалуйста, разобраться с проблемой.
  • 23 апреля 2026 г. 14:02
Ответы на вопрос 3
Ниже — пошаговая инструкция и рекомендации, как настроить на Synology Reverse Proxy, чтобы корректно перенаправлять запросы на сервер с aaPanel. Я опишу общую схему и типичные тонкости — при необходимости могу подстроить под ваш конкретный кейс (порт aaPanel, одна/несколько машин в локальной сети и т. п.).

Коротко: создаём правило Reverse Proxy на Synology, пробрасываем домен на внутренний IP:порт, настраиваем сертификат на Synology, при необходимости добавляем заголовки и сохраняем исходный Host.

1) Подготовка DNS и сети
- Привяжите домен/subdomain (например panel.example.com или site.example.com) к вашему публичному IP (A-запись).
- На роутере пробросьте порты 80 и 443 на Synology (если Synology будет принимать HTTPS/HTTP от внешнего мира).
- Убедитесь, что Synology может достучаться до хоста с aaPanel по локальному IP и нужному порту (ping/telnet/curl).

2) Сертификат (рекомендуется)
- На Synology получите и установите SSL-сертификат для вашего домена (Control Panel → Security → Certificate → Add → Get a certificate from Let's Encrypt). Это позволит Synology завершать TLS (SSL-терминация) и показывать корректный сертификат клиентам.

3) Создание правила Reverse Proxy
- Откройте Control Panel → Application Portal → Reverse Proxy → Create.
- В секции Source укажите:
  - Protocol: HTTPS (если хотите шифрование с клиента до Synology) или HTTP.
  - Hostname: ваш домен/subdomain (например panel.example.com).
  - Port: 443 для HTTPS (или 80 для HTTP).
  - Path: обычно / (можно указать конкретный путь, если хотите проксировать не корень).
- В секции Destination укажите:
  - Protocol: HTTP или HTTPS в зависимости от того, как настроен aaPanel/web-сервис на удалённой машине. Чаще — HTTP.
  - Hostname / IP: внутренний IP машины с aaPanel (например 192.168.1.50).
  - Port: порт, на котором слушает нужный сервис на aaPanel (80/8080/8888/780 и т. д.).
  - Path: / (или соответствующий путь).
- Сохраните правило.

4) Важные опции и заголовки
- Если ваша цель — проксировать сайты, которыми управляет aaPanel (виртуальные хосты), убедитесь, что на aaPanel настроен сайт с нужным доменом. aaPanel/веб-серверы обычно сопоставляют виртуальные хосты по Host заголовку.
- Если AApanel/веб-сервер отдаёт 404 или не тот сайт, нужно заставить прокси передавать исходный Host:
  - В DSM в Create Rule есть Advanced/Custom Header (в разных версиях DSM название может отличаться). Добавьте заголовок:
    - Name: Host
    - Value: yourdomain.example.com
  Или убедитесь, что Reverse Proxy сохраняет оригинальный Host (в некоторых версиях Synology это делается автоматически).
- Рекомендуется также пробрасывать X-Forwarded-For / X-Forwarded-Proto:
  - X-Real-IP: $remote_addr (если есть возможность)
  - X-Forwarded-For: $proxy_add_x_forwarded_for
  - X-Forwarded-Proto: https
  В GUI Synology можно добавить эти заголовки в Advanced → Custom Headers.
- Если проксируете aaPanel (панель администрирования) сама по себе и она использует WebSocket — включите поддержку WebSocket (если такая опция есть).

5) Проблемы с самоподписанными сертификатами на бекенде
- Если вы указываете Destination HTTPS и на aaPanel стоит самоподписанный сертификат, Synology может блокировать соединение. Либо используйте HTTP между Synology и aaPanel (внутри LAN), либо установите на aaPanel корректный сертификат, либо настройте Synology так, чтобы не проверял сертификат (если такая опция доступна).

6) Безопасность (важно при проксировании панели aaPanel)
- Лучше выделить отдельный поддомен для панели (panel.example.com).
- Ограничьте доступ к панели по IP или включите двухфакторную аутентификацию в aaPanel.
- Не открывайте напрямую порт панели в интернет — лучше проксировать через Synology (и/или добавлять дополнительную аутентификацию на Synology).
- При необходимости добавьте правило файервола на aaPanel-хосте, чтобы принимать запросы только от Synology IP.

7) Проверка и отладка
- Проверьте, что DNS указывает на публичный IP и что запросы доходят до Synology (curl -I https://panel.example.com).
- На Synology проверяйте логи reverse proxy (в DSM: Log Center или в /var/log/nginx/*).
- На сервере aaPanel смотрите доступ/ошибки веб-сервера (nginx/apache logs) — 404/403/500 помогут понять, что не так (обычно host mismatch или права).
- Если видите, что страницы загружаются, но ссылки/ресурсы ломаются — проверьте, что backend правильно формирует URL-ы (особенно если проксируете не корень, а путь /panel).

Пример типовой конфигурации (ситуация: проксирование панели из локального IP 192.168.1.50:8888 на subdomain panel.example.com):
- DNS: panel.example.com → ваш_public_IP
- Router: 80/443 → Synology
- Synology Certificate: panel.example.com → Let's Encrypt
- Reverse Proxy rule:
  - Source: Protocol HTTPS, Hostname panel.example.com, Port 443, Path /
  - Destination: Protocol HTTP, Hostname 192.168.1.50, Port 8888, Path /
  - Custom Headers:
    - Host: panel.example.com
    - X-Forwarded-For: $proxy_add_x_forwarded_for
    - X-Forwarded-Proto: https

Если после настройки что-то не работает — расскажите:
- какой именно хост/порт вы проксируете (IP:порт),
- какой домен используете,
- что именно получается в браузере (ошибка, пустая страница, 404 и т. п.),
- версия DSM (6 или 7) — я подскажу конкретнее и помогу с отладкой.
<blockquote>включи WebSocket</blockquote> <br/> Спасибо за ответ. Забыл уточнить, что WebSocket у меня был включен и для панели и для сайта. <br/> <blockquote>поменяй Destination с HTTPS на HTTP,</blockquote> <br/> А вот по поводу смены с HTTPS на HTTP, ситуация вообще какая-то загадочная. На Synology выключи HTTPS , но в панель теперь либо вообще не заходит, либо пытается зайти по HTTP, но браузеры автоматом подставляют HTTPS, либо даже если пускает до выбора "Подтвердить, что вы переходите на не безопасную страницу", далее опять браузер подставляет HTTPS и потом уже пишет "Сайт aapanel.nas.domain.ru выполнил переадресацию слишком много раз." <br/> Возможно где-то в панели включен редирект с HTTP на HTTPS, я не увидел <br/> П.с. по локальной сети панель как и говорил работает. До момента пока не переходишь в админку CMS (там уже перебрасывает site2.nas.domain.ru и соответственно все падает), <br/> Еще может это важно в панели в настройках включен SSL сертификат, самоподписной. <br/> <br/> П.с. 24.04.2026 <br/> <b>РЕШЕНИЕ!</b> <br/> <br/> Вопрос решился. Методом долгих поисков, оказалось, что это программа file2ban в панели, которая не понимает маску подсети, а ей нужно прописывать IP адреса поштучно (ну или я не разобрался с ее синтаксисом), тем самым она не видела список IP адресов которые находились в белом списке и по какой-то причине банила, сам сервер на определенное время которое прописано в file2ban. Спасибо за участие
попробуй в правиле реверс-прокси для aaPanel → вкладка «Дополнительные настройки» → включи WebSocket. aaPanel активно использует его для терминала и live-обновлений, без него соединение рвётся после нескольких запросов — отсюда и страница «не найдено» от самого Synology. Для правила site2 (WordPress) — тоже включи. <br/> <br/> p.s. Если не поможет — в правиле aaPanel поменяй Destination с HTTPS на HTTP, там скорее всего самоподписанный сертификат и Synology не может установить SSL-соединение с бэкендом.
Похожие вопросы