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 преди този клиент да се свърже, в съответствие с предвидения път до дестинацията.

Отделяйте отказа на слушателя от отказа на следващия хоп, когато едната страна работи. Разчитането на автоматични обвързвания иначе може да внесе в сравнението допускания, зависещи от платформата.

Подобни статии