Использование Pano за Cloudflare
Если вы направляете трафик к вашей установке Pano через Cloudflare, потребуется несколько настроек — иначе сразу после завершения мастера установки вы можете столкнуться с бесконечными редиректами, ошибками 521/525/526 или сообщениями вида «эта страница не может правильно перенаправить».
В этом руководстве предполагается, что вы уже добавили свой домен в Cloudflare и направили A (или AAAA)-запись на сервер с Pano, при этом проксирование (оранжевое облако) включено.
Режим SSL/TLS должен быть Flexible
По умолчанию Pano обслуживает обычный HTTP на порту 80 и не терминирует TLS на источнике. Если режим шифрования Cloudflare установлен в Full или Full (strict), Cloudflare попытается обратиться к источнику по HTTPS — но Pano этот порт не слушает, и запрос завершится ошибкой.
Установите режим шифрования Flexible:
- Откройте панель Cloudflare и выберите ваш сайт.
- Перейдите в SSL/TLS → Overview (в новых панелях: SSL/TLS → Configuration).
- Установите режим шифрования Flexible.
В режиме Flexible:
- Браузер ⇄ Cloudflare — зашифрованное соединение (HTTPS).
- Cloudflare ⇄ Pano — обычный HTTP на порту 80.
WARNING
Режим Flexible означает, что трафик между Cloudflare и вашим сервером не шифруется. Если сервер находится в публичной сети и обрабатывает чувствительные данные, предпочтительнее терминировать TLS на источнике (например, через reverse proxy Nginx или Caddy с сертификатом Let's Encrypt) и использовать Full (strict). См. Production-настройку.
Настройте website-url с https://
Хотя сам Pano работает по HTTP, конечные пользователи обращаются к сайту по HTTPS через Cloudflare. Убедитесь, что website-url отражает это — иначе письма для сброса пароля / подтверждения будут содержать ссылки http://, могут появляться циклы редиректов, а браузеры могут помечать смешанный контент как небезопасный.
Отредактируйте config.conf:
website-url = "https://vashdomen.com"Сохраните изменения и перезапустите Pano.
Рекомендуемые настройки Cloudflare
В разделе SSL/TLS → Edge Certificates:
- Always Use HTTPS: Вкл. — перенаправляет любые запросы
http://наhttps://на стороне Cloudflare. - Automatic HTTPS Rewrites: Вкл. — переписывает ссылки
http://со смешанным содержимым на страницах, обслуживаемых через Cloudflare.
В разделе Rules → Page Rules (или Cache Rules в новых панелях): если вы включаете агрессивное кеширование, исключите панель администратора и пути API, чтобы динамические ответы никогда не отдавались из кеша.
Проверка
После применения настроек:
- Подождите пару минут, пока изменения распространятся по Cloudflare.
- Откройте ваш домен в приватном/инкогнито-окне браузера.
- Вы должны увидеть действительный HTTPS-сертификат Cloudflare.
- Pano должен загружаться без цикла редиректов, а письма о сбросе пароля — содержать ссылки
https://.
Когда не следует использовать Flexible
Если требуется настоящее сквозное шифрование (рекомендуется для боевых окружений, обрабатывающих пользовательские данные), не используйте Flexible. Вместо этого:
- Поставьте перед Pano reverse proxy (Nginx, Caddy, Traefik) с действительным TLS-сертификатом (Let's Encrypt подойдёт).
- Установите режим шифрования Cloudflare в Full (strict).
- Оставьте
website-url = "https://..."вconfig.conf.
Так Cloudflare ⇄ Origin тоже будет шифроваться и проверяться по сертификату.
Таймауты простоя в Cloudflare и балансировщиках нагрузки
60-секундный тайм-аут простоя, описанный в Обратный прокси: поддержание WebSocket-соединения, — не только проблема Nginx. Прокси Cloudflare и большинство облачных балансировщиков нагрузки (AWS ALB/NLB, GCP и т. д.) тоже закрывают простаивающее проксируемое соединение по собственному тайм-ауту, и настроить его так же, как proxy_read_timeout в собственном Nginx, вы не можете. Heartbeat Pano (heartbeat-interval / heartbeat-timeout в собственном config.conf плагина, по умолчанию 25s / 75s) существует именно для того, чтобы соединение никогда не простаивало достаточно долго, чтобы сработал любой из этих тайм-аутов — менять что-либо на стороне Cloudflare не требуется.
Если соединение подключённого Minecraft-сервера всё равно периодически обрывается за Cloudflare или балансировщиком нагрузки:
- Убедитесь, что
heartbeat-intervalвconfig.confплагина не был увеличен до значения, близкого к (или превышающего) самому короткому тайм-ауту простоя на всём пути. - Проверьте, нет ли более одного узла между плагином и Pano — дополнительный балансировщик нагрузки, CDN или внутренний обратный прокси, каждый применяет собственный тайм-аут простоя, и значение имеет только самый короткий из них.
- Если за Cloudflare также работает Nginx (или другой обратный прокси), убедитесь, что его собственный тайм-аут тоже увеличен — см. Обратный прокси: поддержание WebSocket-соединения.
Нужна помощь?
- Посетите страницу FAQ
- Спросите в нашем Discord-сообществе
- Создайте issue на GitHub