IPv6 vazby a odchozí IPVersion v proxy Indy HTTP
Před aktivací přidejte explicitní místní vazby IPv4/IPv6; před připojením zvolte požadovanou rodinu dalšího skoku na OutboundClient.
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;Použijte to na neaktivní stávající TIdHTTPProxyServer a poté použijte jeho běžnou aktivaci. Loopback adresy záměrně přijímají pouze lokální klienty; vzdálené použití vyžaduje dostupné adresy rozhraní a řízení přístupu. Ověřte výslednou hranici přístupu než tento naslouchající vystavíte.
Příchozí vazby a odchozí socket plní různé úlohy:
| Socket | Volba rodiny |
|---|---|
| Klient dosáhne proxy | Každá explicitní položka Bindings |
| Proxy dosáhne dalšího skoku | OutboundClient.IPVersion kontextu |
Naslouchající IPv6 tedy nevynucuje IPv6 pro každé cílové umístění. Pokud zatížení vyžaduje explicitní rodinu dalšího skoku, nastavte ji v OnHTTPBeforeCommand dříve, než se tento klient připojí, v souladu se zamýšlenou cestou k cíli.
Oddělte selhání naslouchajícího od selhání dalšího skoku, když jedna strana funguje. Spoléhání na automatické vazby může jinak do srovnání vnést předpoklady závislé na platformě.