Enlaces IPv6 e IPVersion de saída no proxy HTTP de Indy
Engada enlaces locais IPv4/IPv6 explícitos antes da activación; escolla a familia de seguinte salto necesaria en OutboundClient antes de que se conecte.
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;Aplíqueo ao TIdHTTPProxyServer inactivo existente e despois use a súa activación habitual. Os enderezos loopback aceptan deliberadamente só clientes locais; o uso remoto require enderezos de interface alcanzables e controis de acceso. Comprobe a fronteira de acceso resultante antes de expoñer ese escoitador.
Os enlaces entrantes e o socket de saída cumpren tarefas distintas:
| Socket | Selección de familia |
|---|---|
| O cliente chega ao proxy | Cada entrada explícita de Bindings |
| O proxy chega ao seguinte salto | O OutboundClient.IPVersion do contexto |
Por tanto, un escoitador IPv6 non obriga a cada destino a usar IPv6. Se a carga de traballo require unha familia de seguinte salto explícita, defínaa en OnHTTPBeforeCommand antes de que ese cliente se conecte, conforme á ruta de destino prevista.
Separe o fallo do escoitador do fallo do seguinte salto cando un lado funciona. Confiar en enlaces automáticos pode introducir doutro xeito suposicións dependentes da plataforma na comparación.