Squid SO_ORIGINAL_DST -virheen lukeminen
Tarkista, onko nimenomaisesti määritetty asiakas saavuttanut sieppauskuuntelijan, ennen kuin selvität Squidin alkuperäisen kohteen haun epäonnistumista.
NF getsockopt(SO_ORIGINAL_DST) viittaa alkuperäisen kohteen hakuun. Sieppausympäristössä Squidin on selvitettävä, minne uudelleenohjattu yhteys alun perin oli menossa.
Nimenomaisesti määritetty selain lähettää pyyntönsä välityspalvelimelle tahallaan. Yhteys ei saa NAT-sieppaushistoriaa vain siksi, että Squid-kuuntelijan portin vieressä lukee intercept.
Siksi tämä epäjohdonmukaisuus voi epäonnistua ennen kuin kohteen varmenne on merkityksellinen.
Aloita siitä, miten yhteys saapui
- Jos sovelluksella on määritetty välityspalvelimen osoite, selvitä tavallinen edelleenvälityksen kuuntelija, jota sen pitäisi käyttää.
- Jos yhdyskäytävä ohjaa muuten suoraa liikennettä, varmista, että se saavuttaa aiotun sieppauskuuntelijan ja että tuettu NAT-ratkaisu säilyttää tarvittavat kohdetiedot.
- Jos molemmat tilat ovat olemassa, tarkista, mihin osoitteeseen ja porttiin epäonnistuva asiakas todella otti yhteyttä.
Squidin http_port-dokumentaatio tekee eron selväksi: tilalippu jätetään pois, jolloin valitaan edelleenvälitystila; intercept odottaa NAT-sieppausta IP-kerroksessa.
Käsittele sitten kuljetusturvallisuus erikseen. HTTP-välityspalvelin voi välittää HTTPS:n CONNECTin avulla. TLS-yhteys välityspalvelimeen vaatii yhteensopivan kuuntelijan ja asiakasasetukset. Kohdeliikenteen salauksen purkaminen on taas erillinen valinnainen ominaisuus.
Älä kopioi vanhaa “HTTPS-korjausta”, joka ottaa varmenteiden luonnin käyttöön vain siksi, että kohde-URL alkaa HTTPS:llä. Korjaa ensin asiakkaan ja kuuntelijan välinen yhteisymmärrys. Jos sen jälkeen jää todellinen TLS-virhe, se on hyödyllisempi tutkittava virhe.