Прив’язки 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 до підключення цього клієнта, відповідно до передбаченого шляху до призначення.
Відокремлюйте збій прослуховувача від збою наступного переходу, коли одна сторона працює. Покладання на автоматичні прив’язки інакше може внести в порівняння припущення, залежні від платформи.