Это не ваш сайт? Если чужой сайт не открывается только у вас — попробуйте другой браузер, мобильный интернет и отключите VPN. Дальше на странице — разбор для владельца сайта.
Шаг 1. Выясните, на каком действии появляется ошибка
Это главный вопрос. Если браузер вообще не дождался ответа сервера и сообщает о тайм-ауте соединения, это другая ошибка: ERR_
- Открываете любую страницу. Сервер перегружен или база данных не отвечает.
- Запускаете импорт или экспорт товаров, формирование отчёта, массовое действие. Операция идёт дольше предела ожидания.
- Оплачиваете заказ или отправляете форму. Сайт ждёт ответа внешнего сервиса: платёжной системы, службы доставки, CRM, почты.
- Открываете страницу после обновления плагина. Новый код делает тяжёлый запрос.
Шаг 2. Узнайте, какое время ожидания настроено
Веб-сервер ждёт ответ ограниченное время. В nginx за это отвечают директивы proxy_read_timeout и fastcgi_read_timeout, по умолчанию 60 секунд (документация nginx). Если запрос идёт через Cloudflare, прокси ждёт ответ около 100 секунд и показывает ошибку 524 (ошибки Cloudflare). Хостинги задают свои значения.
Простое увеличение тайм-аута убирает симптом, но не причину. Сначала выясните, почему запрос долгий.
Не хотите разбираться сами? Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно.
Отправить задачуШаг 3. Найдите медленный запрос к базе
В WordPress поможет плагин Query Monitor: он показывает самые долгие запросы к базе на странице. В 1С-Битрикс используйте встроенный отладчик производительности (раздел «Настройки» → «Производительность»). На сервере можно включить журнал медленных запросов MySQL (slow_query_log) и посмотреть, какие запросы идут дольше секунды.
Типичные причины:
- таблица без индекса, по которой идёт поиск или фильтр;
- огромная таблица логов или сессий;
- запрос в цикле: на каждый товар отдельный запрос к базе.
Шаг 4. Проверьте внешние обращения
Если сайт при оформлении заказа ждёт ответа платёжного сервиса и тот не отвечает, ответ сайта задерживается до тайм-аута. В коде обращения к внешним сервисам должны иметь собственный ограниченный тайм-аут (5–10 секунд) и обработку ошибки. Проверьте, нет ли в журнале ошибок записей о недоступных внешних адресах.
Шаг 5. Тяжёлые операции запускайте не из браузера
Импорт товаров, пересчёт цен, генерация карты сайта на тысячи страниц не должны выполняться в одном запросе. Решения: запуск по расписанию (cron), порционная обработка (по 100–500 записей за шаг), очередь заданий. Если импорт запускает менеджер кнопкой в админке и получает 504, это признак, что порции нужно уменьшить или переносить запуск на cron.
Когда нужен специалист
- Нужно найти узкое место в коде или базе, а профилировщика нет.
- Ошибка появляется при оплате или обмене с 1С и CRM.
- Увеличение тайм-аута не помогло, а нагрузка растёт.
Сколько стоит решение у нас
| Задача | Время | Стоимость |
|---|---|---|
| Исправление ошибки | 1–2 ч | 3 800–7 600 ₽ |
| Ускорение загрузки | 2–5 ч | 7 600–19 000 ₽ |
| Разбор инцидента | 1–3 ч | от 3 800 ₽ |
Диапазоны ориентировочные, ставка 3 800 ₽ в час. Точную оценку присылаем до начала работ. Все цены.
Опишите проблему в форме. Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно для новых клиентов.
Отправить задачуЧастые вопросы
В чём разница между 504 и 502?
При 502 от приложения пришёл некорректный ответ или связь оборвалась. При 504 ответа не было совсем в отведённое время. Разбор 502: Bad Gateway.
Можно просто поставить тайм-аут побольше?
Для разовой операции (единичный импорт) можно. Для обычных страниц нельзя: посетитель не станет ждать больше 5–10 секунд, а долгие запросы занимают процессы PHP и вызывают перегрузку.
Почему ошибка появляется только по вечерам?
Вечером выше нагрузка, а ресурсов сервера не хватает на все запросы одновременно. Сравните время ошибок с графиком посещаемости и нагрузки в панели хостинга.