Enlaces IPv6 y IPVersion de salida en el proxy HTTP de Indy
Añada enlaces locales IPv4/IPv6 explícitos antes de la activación; elija la familia de siguiente 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íquelo al TIdHTTPProxyServer inactivo existente y después use su activación habitual. Las direcciones loopback aceptan deliberadamente solo clientes locales; el uso remoto requiere direcciones de interfaz alcanzables y controles de acceso. Verifique la frontera de acceso resultante antes de exponer ese escucha.
Los enlaces entrantes y el socket de salida cumplen tareas distintas:
| Socket | Selección de familia |
|---|---|
| El cliente llega al proxy | Cada entrada explícita de Bindings |
| El proxy llega al siguiente salto | El OutboundClient.IPVersion del contexto |
Por tanto, un escucha IPv6 no obliga a cada destino a usar IPv6. Si la carga de trabajo requiere una familia de siguiente salto explícita, defínala en OnHTTPBeforeCommand antes de que ese cliente se conecte, conforme a la ruta de destino prevista.
Separe el fallo del escucha del fallo del siguiente salto cuando un lado funciona. Confiar en enlaces automáticos puede introducir de otro modo supuestos dependientes de la plataforma en la comparación.