Запит 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.
|