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.

Súvisiace články