다음과 같은 설정이 있습니다.
(internet) ---> [ pfSense Box ] /-> [ Apache / PHP server ]
[running HAproxy] --+--> [ Apache / PHP server ]
+--> [ Apache / PHP server ]
\-> [ Apache / PHP server ]
HTTP 요청의 경우 이것은 훌륭하게 작동 하며 요청은 Apache 서버에 잘 분배됩니다. SSL 요청의 경우 TCP로드 균형 조정을 사용하여 요청을 배포하는 HAproxy가 있었지만 HAproxy가 프록시로 작동하지 않아 X-Forwarded-For
HTTP 헤더를 추가하지 않았 으며 Apache / PHP 서버가 클라이언트의 실제 IP 주소.
따라서 stunnel
HAproxy 앞에 추가하여 stunnel을 읽고 X-Forwarded-For
HTTP 헤더를 추가 할 수 있습니다 . 그러나 pfSense에 설치할 수있는 패키지에는이 헤더가 추가되지 않습니다 ... 또한 KeepAlive 요청을 사용할 수있는 능력이 없어 집니다. 실제로 유지하고 싶습니다. 그러나 그 아이디어를 죽인 가장 큰 문제는 stunnel이 HTTPS 요청을 일반 HTTP 요청으로 변환했기 때문에 PHP가 SSL이 활성화되어 SSL 사이트로 리디렉션하려고 시도한다는 것을 알지 못했습니다.
HAproxy를 사용하여 여러 SSL 서버에서로드 밸런싱을 수행하여 해당 서버가 클라이언트의 IP 주소 를 알고 SSL이 사용 중임을 알 수있는 방법은 무엇입니까? 그리고 가능하다면 pfSense 서버에서 어떻게 할 수 있습니까?
아니면이 모든 것을 버리고 nginx를 사용해야합니까?
X-Forwarded-For
참조 하십시오 .