Запрос Chrome показывает «Предварительные заголовки показаны»:
В первый раз, когда браузер отправляет этот запрос, он блокируется, и ответа не поступает. Когда браузер попросят отправить этот запрос снова, он сообщает об этом предупреждении, если на предыдущий тот же запрос не был отвечен, так где же будет проблема?
Я сталкивался с этим несколько раз в проекте и введу разные сценарии соответственно:
1. При доступе к браузеру всех клиентов отображаются предварительные заголовки:
Как с этим справиться: проверьте страницу, где был срабатывал запрос, чтобы узнать, срабатывают ли одновременно и запрос на Ajax.
Например, определите кнопку, type is submit, и определите ajax-событие для этой кнопки;
Этот сценарий — один из тех, что возникали в нашем предыдущем процессе разработки
2. Появляются некоторые клиентские браузеры
Как с этим справиться: позвоните в chrome://net-internals/#events Chrome, затем запустите запрос снова и проверьте журнал запросов, где отображаются временные заголовки;
Проверьте, существуют ли delegate_blocked_by ключевые слова; Обычно это связано с тем, что браузерный плагин или программное обеспечение клиента перехватывает запрос; Ситуация перехватывается WebSense Endpoint;
Если это так, то это можно просто игнорировать — это проблема самого клиента; Можно рассмотреть возможность удаления плагина или программного обеспечения и попробовать снова, чтобы проверить, появится ли оно ещё; Если она всё ещё возникает, пожалуйста, проверьте, подпадает ли она под следующие условия
3. Все клиенты сталкивались с этой ошибкой случайно и время от времени, и если это так, то часто это проблема на стороне сервера
Метод обработки: устранение неполадок на основе архитектуры развертывания. Например, несколько ключевых процессов в нашей архитектуре развертывания — nginx----> gateway application----> F5 load balancer----> application server (docker)
Вы можете устранять неполадки слой за слоем: простой способ — напрямую написать запрос на для цикла с помощью команды серверной оболочки сервера и сначала вызвать самый низкий сервер приложений (если вы боитесь, что давление недостаточно, можно нажать его несколькими потоками); Отжимайте вверх по очереди; В процессе стресс-тестирования вы можете в реальном времени увидеть, застрянет ли запрос; Если их найти, то, скорее всего, в этом и заключается проблема:
В настоящее время мы столкнулись с двумя ситуациями: одна — на уровне F5, некоторые запросы неуспешно балансируются на сервер приложений; Есть также ситуация, когда он застревает на уровне nginx;
Решение: стратегия балансировки нагрузки на уровне F5 была изменена с производительного L4 на стандартный.
План управления ситуацией на уровне nginx: Я на самом деле не участвовал в этой ситуации и понимаю, что изменение множества конфигураций nginx не даёт эффекта, а в итоге просто убивать и переустанавливать, поэтому я не нашёл ключевой момент
Моё собственное решение, потому что Fiddler 4, которым я пользуюсь, не закрыт нормально, поэтому я снова открыл Fiddler 4, попытался запросить сайт, и он вернулся в норму, в этот момент снова закрыт Fiddler 4.
|