Прывязкі IPv6 і зыходны IPVersion у праксі Indy HTTP
Дадайце яўныя лакальныя прывязкі 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, затым выкарыстайце звычайную актывацыю. Адрасы loopback наўмысна прымаюць толькі лакальных кліентаў; аддаленае выкарыстанне патрабуе дасягальных адрасоў інтэрфейсаў і кантролю доступу. Праверце атрыманую мяжу доступу перш чым адкрыць гэты слухач.
Уваходныя прывязкі і зыходны сокет выконваюць розныя задачы:
| Сокет | Выбар сямейства |
|---|---|
| Кліент дасягае проксі | Кожны яўны запіс Bindings |
| Проксі дасягае наступнага пераходу | OutboundClient.IPVersion кантэксту |
Таму слухач IPv6 не прымушае кожную мэту да IPv6. Калі нагрузка патрабуе яўнага сямейства наступнага пераходу, задайце яго ў OnHTTPBeforeCommand да падключэння гэтага кліента, у адпаведнасці з меркаваным шляхам прызначэння.
Аддзяляйце збой слухача ад збою наступнага пераходу, калі адзін бок працуе. Апора на аўтаматычныя прывязкі інакш можа ўнесці ў параўнанне залежныя ад платформы дапушчэнні.