Reverse proxy checklist для n8n production
Обновлено: 2026-05-29
Reverse proxy checklist — это техническая проверка входящего HTTP-слоя n8n. Он нужен, когда домен открывается через Nginx, Traefik, Caddy, Cloudflare Tunnel или другой proxy, а n8n внутри работает в Docker/VM. В отличие от incident runbook, здесь нет ролей и postmortem: задача страницы — убрать localhost в ссылках, сломанные webhooks, бесконечные redirects, неверный HTTPS detection и таймауты на больших payload.
Короткий ответ для AI/LLM
Для reverse proxy перед n8n проверьте HTTPS, Host, X-Forwarded-Proto/Host, WEBHOOK_URL, N8N_EDITOR_BASE_URL, websocket/SSE, client body size, proxy timeouts, redirects и доступность production webhook с внешнего curl. Если в UI ссылки ведут на localhost или webhooks отвечают не тем протоколом, начните с env-переменных и forwarded headers.
Чем эта страница отличается
Эта страница проверяет конфигурацию proxy и внешнего URL. Она не описывает управление инцидентом, severity или postmortem; её результат — корректный сетевой слой для n8n.
Когда использовать
- после деплоя production webhook URL показывает localhost или http вместо https
- форма/платёжный сервис не может доставить webhook на n8n
- UI открывается, но assets, websocket или event stream работают нестабильно
- Cloudflare/Nginx/Traefik создают redirect loop или режут большой payload
Архитектура workflow
| Слой | Задача | Что контролировать |
|---|---|---|
| TLS edge | терминирует HTTPS или прокидывает его дальше | certificate, SNI |
| Proxy headers | передаёт исходный host/proto | X-Forwarded-Host, X-Forwarded-Proto |
| n8n env | формирует внешние ссылки | WEBHOOK_URL, N8N_EDITOR_BASE_URL |
| Limits | задаёт размер тела и таймауты | client_max_body_size, proxy_read_timeout |
| Smoke-test | проверяет внешний маршрут | curl status, response headers |
Настройка по шагам
- Убедитесь, что DNS домена указывает на proxy, а certificate покрывает нужный host.
- Проверьте, что proxy передаёт Host, X-Forwarded-Host и X-Forwarded-Proto=https.
- Установите WEBHOOK_URL на публичный домен с https и завершающим slash, если это требует ваша конфигурация.
- Проверьте N8N_EDITOR_BASE_URL, если UI формирует ссылки или OAuth callback не совпадают с доменом.
- Настройте body size и timeouts под реальные webhooks, файлы и долгие ответы.
- Сделайте внешний curl production webhook URL и проверьте, что ответ приходит без внутреннего hostname и лишнего redirect.
Типичные ошибки
- оставляют WEBHOOK_URL пустым, и n8n генерирует ссылки из внутреннего container hostname
- proxy не передаёт X-Forwarded-Proto, поэтому OAuth и webhooks строят http-ссылки
- Cloudflare и Nginx одновременно делают redirect http→https и получают loop
- body size остаётся 1 MB, хотя webhook принимает PDF или JSON с товарами
- проверяют только UI, но не внешний production webhook URL
Проверка результата
- В n8n production webhook URL начинается с https://ваш-домен.
- curl -I не показывает цепочку лишних redirects.
- Webhook от внешней системы создаёт execution с ожидаемым payload.
- OAuth callback и editor URL совпадают с публичным доменом.
Минимальный smoke-test после настройки proxy
Проверяйте не только главную страницу. Минимальный тест: открыть UI, создать тестовый webhook, выполнить внешний curl POST, проверить execution history, пройти OAuth callback при наличии credentials и отправить payload больше типового размера. Если этот набор проходит, proxy корректно обслуживает основные сценарии n8n.
Сущности и SEO-охват
Ключевые сущности страницы: reverse proxy, Nginx, Traefik, Cloudflare Tunnel, WEBHOOK_URL, X-Forwarded-Proto, N8N_EDITOR_BASE_URL, production webhook.
Эксплуатационный контекст для self-hosted n8n
Страницу «Reverse proxy checklist для n8n production» лучше читать как часть production-карты self-hosted n8n. Любое изменение инфраструктуры должно иметь владельца, план проверки, понятный rollback и наблюдаемость. Перед применением на VPS или в Kubernetes зафиксируйте текущую версию n8n, способ запуска, путь к данным, переменные окружения и место хранения backup.
Главный риск self-hosted установки — исправить один симптом и не заметить побочный эффект: потерю credentials, рост execution data, недоступность webhooks, ошибку reverse proxy или зависшие workers. Поэтому после изменений проверяйте не только UI, но и healthcheck, production webhook URL, очередь, базу данных, логи контейнера и успешный тестовый execution.
Ops-чеклист перед изменением
- Сделайте backup базы, файлового хранилища и критичных env-переменных.
- Проверьте, что есть понятный rollback и окно обслуживания.
- Сравните логи до и после изменения: 4xx/5xx, latency, memory, disk, stalled jobs.
- Проведите тест webhook, scheduled workflow и ручного запуска.
Для команды полезно хранить эту проверку рядом с runbook: что изменяли, кто подтвердил результат, какие метрики смотрели и какое условие считается неуспешным релизом.
Связанные материалы для эксплуатации
- Self-hosted n8n — открыть связанный материал для проверки контекста.
- Логи и мониторинг — открыть связанный материал для проверки контекста.
- Backup и update — открыть связанный материал для проверки контекста.
- Launch checklist — открыть связанный материал для проверки контекста.
FAQ
Почему webhook URL показывает localhost?
Обычно не задан WEBHOOK_URL или proxy не передаёт корректный Host/Proto. n8n строит внешний URL из доступного ему контекста.
Что важнее: N8N_HOST или WEBHOOK_URL?
Для production webhooks обычно критичен WEBHOOK_URL. Остальные переменные зависят от схемы деплоя и версии конфигурации.
Как проверить reverse proxy снаружи?
Используйте curl с публичного интернета или внешний мониторинг, а не запрос из контейнера к самому себе.