Cum se citește o eroare SO_ORIGINAL_DST în Squid
Verificați dacă un client configurat explicit a ajuns la un ascultător de interceptare înainte de a diagnostica un eșec al căutării destinației originale în Squid.
NF getsockopt(SO_ORIGINAL_DST) indică o căutare a destinației originale. Într-o configurație de interceptare, Squid trebuie să reconstituie unde se îndrepta inițial conexiunea redirecționată.
Un browser configurat explicit trimite cererile către proxy în mod intenționat. Acea conexiune nu dobândește un istoric de interceptare NAT doar pentru că intercept este scris lângă portul ascultătorului Squid.
Prin urmare, această nepotrivire poate eșua înainte ca certificatul destinației să devină relevant.
Începeți cu felul în care a ajuns conexiunea
- Dacă aplicația are o adresă de proxy configurată, identificați ascultătorul obișnuit de proxy de redirecționare pe care ar trebui să îl folosească.
- Dacă o poartă redirecționează trafic care altfel ar fi direct, verificați dacă ajunge la ascultătorul de interceptare dorit și dacă proiectul NAT acceptat păstrează informațiile de destinație necesare.
- Dacă există ambele moduri, verificați ce adresă și ce port a contactat efectiv clientul care eșuează.
Documentația Squid pentru http_port face distincția explicită: omiterea unui indicator de mod selectează modul proxy de redirecționare; intercept așteaptă interceptare NAT la nivel de IP.
Apoi tratați separat securitatea transportului. Un proxy HTTP poate transporta HTTPS prin CONNECT. O conexiune TLS către proxy necesită un ascultător și o configurație de client compatibile. Decriptarea traficului către destinație este încă o altă capacitate opțională.
Nu copiați o veche “soluție HTTPS” care activează generarea de certificate doar pentru că adresa destinației începe cu HTTPS. Reparați mai întâi acordul dintre client și ascultător. Dacă după aceea rămâne o eroare TLS reală, va fi o eroare mai utilă de investigat.