이 구성에서 SNI 스니핑을하고있는 것 같지만 모든 백엔드가 HAProxy 자체로 루프백되고 있습니다 ... SNI 스니핑이 필요한 경우가 아닙니다. 아마도 나는 이것을 요구할 다른 것을 간과 할 것입니다.
왜 프록시의 IP가 X-Forwarded-For
에 도착하는지 분명해야합니다. HAProxy가 자체적으로 이야기하고 있습니다. 프록시 의 첫 번째 패스는입니다. 두 번째 패스에서만 HTTP를 사용하기 때문에 프록시가 두 번째 패스에서 확인할 수있는 한 클라이언트 연결입니다. 들어오는 TCP 연결이 도착했다는 것만 알았습니다.
해결 방법은 첫 번째 패스 백엔드가 프록시 프로토콜과 두 번째 패스 프론트 엔드를 사용하여 원본 클라이언트 정보를 전달하여이를 디코딩하는 것입니다.
두 번째 패스 프론트 엔드의
bind
라인에
accept-proxy
를 추가하고 첫 번째 패스 백엔드에
server
라인에
send-proxy
을 추가합니다. 이 방식으로 HAProxy가 자신과 통신하는 연결에서 첫 번째 패스 백엔드는 프록시 프로토콜 프리앰블을 보내고 두 번째 패스 프론트 엔드는 들어오는 값을 디코드하여
X-Forwarded-For
에 배치합니다.