La richiesta Chrome dice "Sono mostrate le intestazioni provvisorie":
La prima volta che il browser invia questa richiesta, la richiesta viene bloccata e non riceve risposta. Quando viene chiesto al browser di inviare nuovamente questa richiesta, il browser segnala questo avviso se la stessa richiesta precedente non è stata risposta., quindi dov'è il problema?
L'ho incontrato più volte nel progetto e presenterò rispettivamente diversi scenari:
1. Le intestazioni provvisorie vengono mostrate quando si accede al browser di tutti i client:
Come gestirlo: Controlla la pagina in cui è stata attivata la richiesta per vedere se l'invio del modulo e la richiesta ajax vengono attivati contemporaneamente.
Ad esempio, definire un pulsante, tipare è submit, e definire un evento ajax per il pulsante;
Questo scenario è uno di quelli che si è sviluppato nel nostro precedente processo di sviluppo
2. Appaiono alcuni browser client
Come gestirlo: chiama il chrome://net-internals/#events di Chrome, poi riattiva la richiesta e controlla il registro delle richieste dove sono mostrati le intestazioni provvisorie;
Vedi se esistono delegate_blocked_by parole chiave; Questo avviene generalmente perché il plug-in del browser o il software del client intercettano la richiesta; La situazione che abbiamo è intercettata da WebSense Endpoint;
Se è così, può essere praticamente ignorato, il problema del cliente stesso; Puoi considerare di disinstallare il plugin o il software e riprovare per vedere se appare ancora; Se si verifica ancora, verifica se rientra nelle seguenti condizioni
3. Tutti i client hanno avuto questo errore in modo casuale e occasionale, e se è così, spesso si tratta di un problema lato server
Metodo di gestione: Risoluzione dei problemi basandosi sull'architettura di distribuzione. Ad esempio, alcuni processi chiave nella nostra architettura di distribuzione sono nginx----> applicazione gateway----> bilanciatore di carico F5----> server applicativo (docker)
Puoi risolvere problemi livello per livello, il modo semplice è scrivere direttamente una richiesta for curl loop con il comando server shell e prima chiamare il server application server server (se temi che la pressione non sia sufficiente, puoi premere con più thread); Premi verso l'alto a turno; Durante il test di stress, puoi vedere in tempo reale se la richiesta rimarrà bloccata; Se viene riscontrato, è molto probabile che questo sia il problema:
Attualmente abbiamo affrontato due situazioni: una è a livello F5, alcune richieste sono state bilanciate senza successo al server applicativo; C'è anche una situazione in cui il problema è bloccato a livello nginx;
Soluzione: La strategia di bilanciamento del carico a livello F5 è stata modificata da prestazioni L4 a standard.
Piano di gestione della situazione bloccata a livello nginx: in realtà non ho partecipato a questa situazione, e capisco che modificare molte configurazioni di nginx non ha alcun effetto, e alla fine basta uccidere e reinstallare, quindi non ho trovato il punto chiave
La mia soluzione, dato che il Fiddler 4 che uso normalmente non è chiuso, quindi ho riaperto Fiddler 4, ho provato a richiedere il sito e il sito è tornato normale, a quel punto ho chiuso di nuovo Fiddler 4.
|