Legături IPv6 și IPVersion de ieșire în proxy-ul HTTP Indy
Adăugați legături locale IPv4/IPv6 explicite înainte de activare; alegeți familia de salt următor necesară pe OutboundClient înainte ca acesta să se conecteze.
ProxyServer.Bindings.Clear;
with ProxyServer.Bindings.Add do
begin
IPVersion := Id_IPv4;
IP := '127.0.0.1';
Port := 8080;
end;
with ProxyServer.Bindings.Add do
begin
IPVersion := Id_IPv6;
IP := '::1';
Port := 8080;
end;Aplicați acest lucru serverului TIdHTTPProxyServer existent și inactiv, apoi folosiți activarea sa normală. Adresele loopback acceptă intenționat doar clienți locali; utilizarea la distanță necesită adrese de interfață accesibile și controale de acces. Verificați granița de acces rezultată înainte de a expune acel ascultător.
Legăturile de intrare și socketul de ieșire îndeplinesc sarcini diferite:
| Socket | Selectarea familiei |
|---|---|
| Clientul ajunge la proxy | Fiecare intrare Bindings explicită |
| Proxy-ul ajunge la saltul următor | OutboundClient.IPVersion al contextului |
Prin urmare, un ascultător IPv6 nu impune IPv6 pentru fiecare destinație. Dacă volumul de lucru cere o familie explicită de salt următor, setați-o în OnHTTPBeforeCommand înainte ca acel client să se conecteze, în concordanță cu traseul de destinație vizat.
Separați defecțiunea ascultătorului de defecțiunea saltului următor când o parte funcționează. Bazarea pe legături automate poate altfel introduce în comparație ipoteze dependente de platformă.