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 에서 설정하여 의도한 목적지 경로와 맞추십시오.

한쪽만 동작할 때는 리스너 장애와 다음 홉 장애를 분리하십시오. 자동 바인딩에 의존하면 플랫폼 의존적인 가정이 비교에 들어올 수 있습니다.

관련 글