1. База знаний
  2. Панели

Nginx / Caddy

Реверс для панели, вебхуков, миниаппы, кабинета.

Пруфов: 14Обновлено 17.09.2026Исходник 2 мин чтения

Период 09.02–13.03.2026 — Bedolaga v3.9–3.32, Remnawave 2.6.x, Remnawave-admin 2.x

Каноничный Caddy кабинета от Егора:

{$CABINET_DOMAIN} {
    import geoip_block
    encode gzip zstd
    handle /api/* { uri strip_prefix /api; reverse_proxy remnawave_bot:8080 { import proxy_defaults } }
    handle { root * /srv/cabinet; try_files {path} /index.html; file_server; @static path *.js *.css *.woff2 *.ico *.png *.jpg *.svg *.webp *.gif; header @static Cache-Control "public, max-age=31536000, immutable"; @html path *.html /; header @html Cache-Control "no-cache, must-revalidate" }
}

пруф

Caddy hooks+cabinet от c0mrade:

(proxy_defaults) { header_up Host {host}; header_up X-Real-IP {remote_host}; transport http { read_buffer 0 } }
hooks.example.com { encode gzip zstd; @webhooks { path /yookassa-webhook; path /platega-webhook; path /cryptobot-webhook; path /wata-webhook } handle @webhooks { reverse_proxy remnawave_bot:8080 { import proxy_defaults } } handle /app-config.json { header Access-Control-Allow-Origin "*"; reverse_proxy remnawave_bot:8080 } handle { reverse_proxy remnawave_bot:8080 } }
cabinet.example.com { encode gzip zstd; handle /api/* { uri strip_prefix /api; reverse_proxy remnawave_bot:8080 } handle { root * /srv/cabinet; try_files {path} /index.html; file_server } }

пруф

Рекомендуемая архитектура: идеал панель/сабка/бот/кабинет — 4 сервера пруф; минимум бот+кабинет / панель+сабка пруф.


Период 16.03–06.04.2026 — Remnawave 2.7.x (breaking), Bedolaga v3.33–3.45

  • nginx upstream обязателен вверху /etc/nginx/conf.d/default.conf: upstream remnawave_bot { server remnawave_bot:8080; } иначе host not found; proxy_ssl_server_name on; rewrite ^/api/(.*) /$1 break пруф. Прокси бота на другом сервере — без https:// пруф; не кидать бота наружу пруф. Юкасса: location = /yookassa-webhook + полный https URL пруф. Скрипт R4z смены BOT_IP пруф.
  • Caddy telegram-web-app.js прокси + sed index.html пруф.
  • Caddy wss: handle /cabinet/ws* { reverse_proxy remnawave_bot:8080 } пруф.
  • Caddyfile всех хуков+кабинет (proxy_defaults, hooks.example.com @webhooks 11 путей, cabinet.example.com) пруф; боевой Фантомаса пруф; haproxy SNI на 443 пруф.