Вместо сайта открывается заглушка FastPanel: причины и решения
Сайт добавлен в FastPanel, файлы загружены, домен направлен на сервер, но вместо сайта открывается страница с логотипом FastPanel. Это одна из самых частых проблем у тех, кто впервые настраивает сервер с этой панелью.
Ниже разобраны конкретные ситуации: когда заглушка появляется только по HTTPS, только на www, сразу после создания сайта или только через Cloudflare. Если ваш случай не подходит ни под одну из них или заглушка видна не у всех, поможет чек-лист в конце статьи.
Откуда берется заглушка
Перед сайтами в FastPanel работает веб-сервер Nginx. Когда приходит запрос, он смотрит, какой домен указан в адресе, и ищет сайт с таким именем. Если сайт найден — показывает его. Если нет, запрос попадает на сайт по умолчанию, а им в FastPanel как раз и является заглушка.
Поэтому заглушка почти всегда означает одно: Nginx не нашел ваш сайт для этого запроса. Причина может быть в протоколе, в имени домена, в IP-адресе или в том, что настройки еще не применились.
Заглушка только по HTTPS
Симптом: по адресу http:// сайт открывается, а по https:// — заглушка. Часто перед этим браузер предупреждает о небезопасном подключении, а в сертификате указано имя parking и организация FASTPANEL.
Причина: для сайта не выпущен SSL-сертификат. FastPanel не настраивает сайту HTTPS, пока сертификата нет, поэтому запросы по HTTPS уходят на заглушку с самоподписанным сертификатом панели. Проверить, какой сертификат отдает сервер, можно командой:
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | grep subject
Решение: выпустите для сайта сертификат Let's Encrypt в разделе SSL-сертификатов панели. Если он не выпускается, разберитесь с ошибкой по статье «Сертификат Let's Encrypt не выпускается».
Заглушка через Cloudflare
Симптом: домен подключен к Cloudflare с включенным проксированием, и сайт показывает заглушку, хотя при прямом обращении к серверу по HTTP все работает.
Причина: Cloudflare обращается к серверу по HTTPS — например, если в настройках SSL выбран режим Full или включено правило «Always Use HTTPS». А на сервере сертификата для сайта нет, и запрос попадает на заглушку, как в предыдущем разделе.
Решение: выпустите сертификат на сервере. Если Let's Encrypt не проходит проверку через прокси Cloudflare, на время выпуска переключите DNS-запись в режим «DNS only». После выпуска включите проксирование обратно и выберите в Cloudflare режим SSL «Full (strict)».
⚠️ Важно: режим Flexible кажется быстрым решением, но если на сервере настроен редирект с HTTP на HTTPS, сайт уйдет в бесконечный цикл перенаправлений. Лучше сразу настроить сертификат на сервере.
Заглушка только на www
Симптом: example.com открывается нормально, а www.example.com показывает заглушку (или наоборот).
Причина: для Nginx www.example.com и example.com — два разных имени. Если второго нет в настройках сайта, запрос с ним считается чужим.
Решение: в настройках сайта в FastPanel добавьте недостающий адрес в список псевдонимов (алиасов). После этого перевыпустите SSL-сертификат, чтобы он покрывал оба адреса. А чтобы у сайта был один основной адрес, настройте редирект с одного варианта на другой.
Заглушка сразу после создания сайта
Симптом: вы создали сайт и загрузили свои файлы, но по адресу сайта все равно открывается страница с логотипом FastPanel.
Причина: вариантов два. Первый — в папке сайта остался стандартный index.html, который панель могла создать вместе с сайтом. Если ваш сайт запускается через index.php, сервер может показать index.html вместо него — например, Apache по умолчанию ищет index.html первым. Второй — новые настройки Nginx не применились из-за ошибки в конфигурации.
Решение: сначала откройте в браузере адрес вида https://example.com/index.php. Если по нему открывается ваш сайт, причина в лишнем index.html — удалите его из папки сайта через файловый менеджер панели, FTP или SSH.
Если и по этому адресу видна заглушка, проверьте конфигурацию Nginx. Команда покажет, есть ли в ней ошибки, в каком файле и на какой строке:
sudo nginx -t
Если в конфигурации ошибка, Nginx не принимает новые настройки и продолжает работать со старыми, в которых вашего сайта еще нет. Причем ошибка может быть не в вашем сайте, а в любом другом файле конфигурации. Исправьте указанную строку и примените настройки:
sudo systemctl reload nginx
Вместо этой команды можно еще раз сохранить настройки сайта в панели — она сама перезагрузит Nginx.
Заглушка при открытии по IP-адресу
Симптом: вы открываете в браузере IP-адрес сервера вместо домена и видите заглушку.
Причина: это нормальное поведение. На одном сервере может быть много сайтов, и по одному только IP-адресу Nginx не знает, какой из них показать.
Решение: если домен еще не направлен на сервер, а проверить сайт нужно уже сейчас, пропишите домен в файле hosts на своем компьютере или отправьте запрос с нужным доменом через curl:
curl -I --resolve example.com:80:203.0.113.10 http://example.com
Вместо 203.0.113.10 подставьте IP-адрес вашего сервера — этот адрес зарезервирован для примеров в документации. Если в ответе код 200 и заголовки вашего сайта, значит, на сервере все настроено правильно и осталось только обновить DNS.
Если заглушка видна не у всех или причина неясна
Бывает, что у вас сайт открывается, а у клиента — заглушка, или на компьютере все работает, а на телефоне нет. Тогда проверьте по порядку:
- DNS ведет на нужный сервер. После смены IP-адреса часть пользователей еще несколько часов может попадать на старый сервер. Проверьте адрес через dns.google.
- Нет лишней записи AAAA. Устройства с IPv6 (часто это мобильный интернет) идут по IPv6-адресу. Если AAAA-запись осталась от старого сервера или сайт в панели не привязан к IPv6-адресу, такие пользователи увидят заглушку. Удалите лишнюю запись или привяжите сайт к IPv6-адресу в его настройках.
- Домен написан без опечаток. Проверьте имя сайта и псевдонимы в панели — лишняя буква или точка встречаются чаще, чем кажется.
- Есть SSL-сертификат. Браузеры все чаще сами открывают сайты по HTTPS, поэтому без сертификата заглушка может появляться не у всех.
- Cloudflare настроен правильно. Режим SSL — Full (strict), а на сервере есть действующий сертификат.
- В папке сайта нет стандартного index.html.
- Конфигурация Nginx без ошибок. Команда sudo nginx -t должна завершиться сообщением syntax is ok и test is successful.
- Дело не в кэше. Откройте сайт в режиме инкогнито или с другого устройства — браузер мог запомнить старый ответ.
Проверить, что отдает сам сервер, без влияния DNS и кэша, можно той же командой curl с параметром --resolve — для HTTPS укажите порт 443:
curl -I --resolve example.com:443:203.0.113.10 https://example.com
Если сервер отдает ваш сайт, а пользователи видят заглушку, проблема в DNS или кэше. Если и сервер отдает заглушку — в настройках сайта в панели.
Итог
Заглушка FastPanel появляется, когда Nginx не находит сайт для запроса. Чаще всего это нет SSL-сертификата, не добавлен www, неправильные настройки Cloudflare или лишний index.html в папке сайта. Если заглушка видна не у всех, проверьте DNS и запись AAAA, а командой curl с параметром --resolve узнайте, что отдает сам сервер.
🛠️ Если сайт на FastPanel так и не открылся, напишите мне — разберусь с настройками сервера.
Опубликовано