2017-02-12 9 views
0

SSL SNI를 구성하려고 할 때 haproxy 1.5에서 불편을 겪었습니다.HAProxy - SSL SNI 불편

haproxy 구성의 조각이있다 : 내가 백엔드에 클라이언트 IP를 전달하고자하는 pastebin

가. reqadd/set-header X-Forwarded-For/Real-IP를 어떻게 구성하든간에 X-Forwarded-For에는 항상 haproxy IP 주소가 있습니다.

누군가가 HAProxy에 SSL SNI가있는 실제 IP를 전달하려고합니까? :/

답변

0

이 구성에서 SNI 스니핑을하고있는 것 같지만 모든 백엔드가 HAProxy 자체로 루프백되고 있습니다 ... SNI 스니핑이 필요한 경우가 아닙니다. 아마도 나는 이것을 요구할 다른 것을 간과 할 것입니다.

왜 프록시의 IP가 X-Forwarded-For에 도착하는지 분명해야합니다. HAProxy가 자체적으로 이야기하고 있습니다. 프록시 의 첫 번째 패스는입니다. 두 번째 패스에서만 HTTP를 사용하기 때문에 프록시가 두 번째 패스에서 확인할 수있는 한 클라이언트 연결입니다. 들어오는 TCP 연결이 도착했다는 것만 알았습니다.

해결 방법은 첫 번째 패스 백엔드가 프록시 프로토콜과 두 번째 패스 프론트 엔드를 사용하여 원본 클라이언트 정보를 전달하여이를 디코딩하는 것입니다.

두 번째 패스 프론트 엔드의 bind 라인에 accept-proxy를 추가하고 첫 번째 패스 백엔드에 server 라인에 send-proxy을 추가합니다. 이 방식으로 HAProxy가 자신과 통신하는 연결에서 첫 번째 패스 백엔드는 프록시 프로토콜 프리앰블을 보내고 두 번째 패스 프론트 엔드는 들어오는 값을 디코드하여 X-Forwarded-For에 배치합니다.