Сообщение «сайт не работает» объединяет несколько разных проблем. Полезнее выяснить, до какого этапа дошёл запрос. Для начала достаточно одного запроса с ограничением времени:
curl -v --connect-timeout 5 --max-time 15 https://example.com/ -o /dev/null
Читайте сверху вниз
В подробном выводе curl строки со звёздочкой описывают действия клиента, знак > отмечает отправленные заголовки, а < — полученные. Сначала ищите адрес сервера и результат подключения, затем сведения о TLS и строку ответа HTTP.
- Имя не разрешилось
- Начните с DNS: правильное ли имя, какие A- и AAAA-записи возвращает ваш резолвер.
- Соединение не установилось
- Проверьте адрес, порт, маршрут, правила firewall и наличие слушающего процесса на сервере.
- Соединение есть, но TLS не завершился
- Уточните причину: истёкший сертификат и зависшее рукопожатие — разные симптомы. Сам факт подключения по TCP не доказывает исправность HTTPS.
- Получен ответ HTTP
- Теперь исследуйте статус, заголовки и содержимое. Ответ 404 означает, что сервер ответил, но запрошенный ресурс не найден.
Меняйте одну переменную
Повторите запрос из другой сети или с другого компьютера. Сохраните время, адрес и точный текст ошибки. Такой набор наблюдений полезнее длинного перечня уже выполненных перезапусков.
Первичный источник: everything curl — Verbose.