Как отладить "HTTP-запрос отправлен, ожидая ответа"?
У меня есть сервер Linux на ADSL-соединении, и я просто заметил, что иногда я получаю
Connecting to example.com|xxx.xxx.xxx.122|:80... connected.
HTTP request sent, awaiting response...
когда я использую wget
или, например, браузер, как Firefox.
В случае wget
нажмите CTRL-C, а затем попробуйте снова "решить проблему", а в случае Firefox перезагрузка страницы также приводит к загрузке страницы.
Это кажется случайным, когда это происходит. Я попытался изменить DNS на DNS от Google, но у меня все еще возникают те же проблемы.
Вопрос
Как мне отладить что-то подобное, чтобы я мог найти источник проблемы или, возможно, шаблон?
4 ответа
Вы когда-нибудь пытались дождаться, чтобы увидеть, какой код статуса HTTP возвращается?
Чтобы отладить этот случай, откройте 2 терминала: во-первых, ssh на ваш сервер и введите:
# tcpdump -vv -s0 tcp port 80 -w /tmp/example.pcap
(вы также можете добавить and src host <client_IP>
отфильтровывать ненужные запросы)
а во втором используйте wget
чтобы просмотреть ваш сайт, воспроизведите эту проблему и переключитесь на первый терминал и нажмите Ctrl + C.
Скопируйте это .pcap
файл клиенту и откройте с помощью Wireshark, чтобы увидеть, что происходит.
Если ты видишь:
HTTP request sent, awaiting response...
Это означает, что DNS работает нормально, TCP-соединение установлено, и запрос отправлен. Я думаю, что причиной ваших проблем является удаленный сервер, который может быть занят.
Как сказал @quanta, захват сети даст вам более подробную информацию. В Wireshark просто используйте Follow TCP Stream, чтобы увидеть HTTP-разговор. Обратите внимание на сообщения ICMP тоже.
У меня была очень похожая проблема на недавно подготовленном экземпляре AWS:
apt install
потерпит неудачу, утверждая, что не может получить какой-то пакет. Когда я попытался получить пакет вручную с wget
иногда он зависал до бесконечности, а иногда сразу же (после бесконечного зависания).
Перезапуск сервера не помог. Затем я остановил и заново подготовил экземпляр, после чего у меня не возникло проблем с новым экземпляром.
Пойди разберись.