현재 Isolated Network의 Load Balancer를 통해 HTTPS로 웹서버에 접속하는 경우 X-Forwarded-For 헤더가 전달되지 않는 이유는, LB가 TCP Mode(L4 Pass-through)로 동작하고 있기 때문입니다.
현재 구조는 아래와 같습니다.
Client
↓ HTTPS
Isolated LB
- TCP Mode (L4 Pass-through)
- SSL 처리 안함
- HTTPS 패킷 그대로 전달
↓ HTTPS
Web Server
- SSL 종료
위 구조에서는 HTTPS 암호화가 웹서버에서 해제되므로 LB는 HTTP 헤더 내용을 확인하거나 수정할 수 없습니다. 따라서 X-Forwarded-For 헤더를 추가하여 웹서버로 전달하는 것이 불가능합니다.
해결 방안은 최신 Mold 버전 업데이트 후 Isolated LB에서 SSL 인증서를 적용하여 HTTPS를 직접 처리(SSL Termination)하도록 구성하는 것입니다.
변경된 구조는 아래와 같습니다.
Client
↓ HTTPS
Isolated LB
SSL Termination
X-Forwarded-For 추가
↓ HTTP
Web Server
이 경우 LB가 HTTP 요청을 인식할 수 있으므로 클라이언트 IP 정보를 X-Forwarded-For 헤더에 자동으로 추가하여 웹서버로 전달할 수 있습니다.
Mold 최신화 후 SSL LB를 적용하는 방법은 아래를 참고해주세요.

Mold> 계정 > admin > SSL 인증서 업로드

- 인증서 이름 입력
- 인증서 -----BEGIN CERTIFICATE----- 값 텍스트 입력
- PKC#8 비밀 키 : -----BEGIN PRIVATE KEY----- 값 텍스트 입력
- 보내기 클릭하여 ssl 인증서 등록

- 프로토콜 타입을 TCP 에서 SSL로 변경
- 사설 포트를 http 포트로 변경
- ssl 인증서 등록