Squid SO_ORIGINAL_DST klaidos skaitymas
Patikrinkite, ar aiškiai sukonfigūruotas klientas pasiekė perėmimo klausytuvą, prieš tirdami Squid pradinės paskirties vietos paieškos nesėkmę.
NF getsockopt(SO_ORIGINAL_DST) nurodo pradinės paskirties vietos paiešką. Perėmimo sąrankoje Squid turi atkurti, kur iš pradžių buvo nukreipiamas peradresuotas ryšys.
Aiškiai sukonfigūruota naršyklė sąmoningai siunčia užklausas tarpiniam serveriui. Tas ryšys negauna NAT perėmimo istorijos vien todėl, kad šalia Squid klausytuvo prievado parašyta intercept.
Todėl šis neatitikimas gali žlugti dar prieš tai, kai paskirties vietos sertifikatas taps svarbus.
Pradėkite nuo to, kaip atėjo ryšys
- Jei programoje sukonfigūruotas tarpinio serverio adresas, nustatykite įprastą peradresavimo tarpinio serverio klausytuvą, kurį ji turėtų naudoti.
- Jei tarpinė sistema peradresuoja kitu atveju tiesioginį srautą, patikrinkite, ar jis pasiekia numatytą perėmimo klausytuvą ir ar palaikoma NAT schema išsaugo reikiamą paskirties informaciją.
- Jei yra abu režimai, patikrinkite, su kokiu adresu ir prievadu iš tikrųjų susisiekė nepavykęs klientas.
Squid http_port dokumentacija aiškiai parodo skirtumą: praleidus režimo vėliavėlę pasirenkamas peradresavimo tarpinio serverio režimas; intercept tikisi NAT perėmimo IP lygmenyje.
Tada transporto saugumą nagrinėkite atskirai. HTTP tarpinis serveris gali perduoti HTTPS per CONNECT. TLS ryšiui su tarpiniu serveriu reikia suderinamo klausytuvo ir kliento konfigūracijos. Paskirties srauto iššifravimas yra dar viena pasirenkama galimybė.
Nekopijuokite seno “HTTPS sprendimo”, kuris įjungia sertifikatų generavimą vien todėl, kad paskirties URL prasideda HTTPS. Pirmiausia sutaisykite kliento ir klausytuvo suderinamumą. Jei po to lieka tikra TLS klaida, ją tirti bus naudingiau.