Prečo sa zlyhanie proxy SockJS môže prejaviť až po prepnutí na záložnú cestu
Cesta WebSocket a záložná cesta XHR môžu používať rôznych HTTP klientov. Pred zmenou nastavení proxy zistite, ktorý prenos zlyháva.
Keď WebSocket funguje v jednej sieti, ale SockJS zlyháva v inej, druhá sieť mohla aktivovať záložnú cestu XHR. To môže zmeniť implementáciu HTTP, ktorá vykonáva požiadavky — a tým aj používanú konfiguráciu proxy.
Nájdite prvú neúspešnú URL a ňou zvolený prenos. SockJS môže pred výberom prenosu vykonať informačnú HTTP požiadavku; handshake WebSocket a nasledujúce dopytovacie požiadavky sú samostatné operácie. Fungujúca konfigurácia handshake nepreukazuje cestu používanú pre každú z nich.
V Java klientovi Springu prijíma RestTemplateXhrTransport nakonfigurovaný RestTemplate. Jeho továreň požiadaviek a podkladový HTTP klient poskytujú záložnou cestou podporovanú trasu proxy a overovanie. Pre Spring 6 s HttpClient 5 nakonfigurujte skutočnú továreň požiadaviek tohto RestTemplate. Ak táto implementácia používa komponenty Apache HTTP, jej generácia musí zodpovedať integrácii.
Klient WebSocket má vlastné dokumentované nastavenia pripojenia. Vlastnosti proxy JVM ovplyvňujú cestu len vtedy, keď ich jeho konkrétny klient číta. Porovnajte funkčné a zlyhávajúce prostredie podľa prenosu, implementácie klienta, zvolenej proxy a prvej chyby. Ak zlyháva len XHR, sledujte jeho trasu, overovanie a dlho držané odpovede namiesto opakovaného menenia nastavení fungujúceho klienta WebSocket.