Indy HTTP 代理的 IPv6 绑定与出站 IPVersion
在启用前添加显式的本地 IPv4/IPv6 绑定;在 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;将此应用于处于非活动状态的现有 TIdHTTPProxyServer,然后执行其常规启用流程。回环地址有意只接受本地客户端;远程使用需要可达的接口地址与访问控制。 验证由此产生的访问边界 在对外暴露该监听器之前.
入站绑定与出站套接字承担不同的职责:
| 套接字 | 协议族选择 |
|---|---|
| 客户端抵达代理 | 每个显式 Bindings 条目 |
| 代理抵达下一跳 | 上下文的 OutboundClient.IPVersion |
因此,IPv6 监听器并不会强制每个目标都使用 IPv6。若工作负载需要显式的下一跳协议族,请在该客户端连接前于 OnHTTPBeforeCommand 中设置,并与预期的目标路径保持一致。
当一侧正常工作时,请把监听器故障与下一跳故障区分开来。否则,依赖自动绑定会把与平台相关的假设带入比较。