1. 특정 도메인으로 들어온 값 구분하기
- hdr_beg(host) -i 를 사용하면 특정 host로 들어온 값을 구분할 수 있다.
frontend front_server
bind *:8888
acl auth hdr_beg(host) -i before-ahostname
acl interface hdr_beg(host) -i before-bhostname
use_backend backend-a if a-host
use_backend backend-b if b-host
2. Host 변경
- set-header Host , replace-header Host 등 자유롭게 사용하면 된다
- host 뿐만 아니라 path도 변경해야 되는 경우는 여러가지 방법이 있겠지만
set-uri를 넣고 뒤에 path 부분을 수정해주면 된다.
#header를 변경하는 경우(path 변경 필요없음)
http-request set-header Host after-ahostname.com
http-request replace-header Host ^before-ahostname.(.*)$ after-ahostname.\1
#uri를 변경하는 경우(path도 같이 넣어줘야함)
http-request set-uri https://after-ahostname.com%[path]
3. backend server 호출
- "ssl verify none" 을 사용하면 SSL 인증서 확인을 비활성화함.
server a serverhost:443 ssl verify none
백엔드 서버에 대한 SSL 인증서 확인을 비활성화하는 옵션 "ssl verify none"
HAProxy는 SSL/TLS를 통해 연결할 때 서버의 SSL 인증서를 확인하지 않음.
SSL 인증서 확인을 비활성화하면 보안이 취약해지기 때문에 꼭 숙지해야 함.
일반적으로 SSL 인증서 검사는 HAProxy와 백엔드 서버 간의
SSL/TLS 통신의 보안 및 무결성을 보호함.
추가적으로 backend에서 server:443으로 호출 시
ssl verify none이나 인증서를 설치하지 않으면 아래 이미지처럼 502 bad gate 오류가 발생.
'Haproxy' 카테고리의 다른 글
Haproxy log 설정 (0) | 2023.06.15 |
---|---|
haproxy 예전 frontend로 서비스 호출되는 경우 (0) | 2023.06.14 |
Haproxy resolver 설정(Dynamic DNS resolution) (0) | 2023.06.13 |