반응형

예전 프로젝트에서 L4 스위치가 2중화 되어있는 proxy서버(openresty)에 health 체크를 하는데 openresty에서 tcp/ip 소켓 통신인 경우 헬스체크를 소켓통신하는 곳까지 넘겨버리는 불상사가 생겼었다.

L4 ---> proxy ---> server

..ㅋ 해당 서버는 인증업체였는데 이로인해 트래픽이 많아져 문제가 생길 것 같다고 하여

openresty 에서 수정하기로 했다.

upstream auth1 {
	server x.x.x.x:xx;
}
upstream no_backend {
	server 127.0.0.1:80;
}

# L4 ip에서 온 것은 no_backend 로 이동
map $remote_addr:$server_port $org {
	L4IP:접속포트1 no_backend;
	L4IP:접속포트2 no_backend;
	
	# 일반 app node ip 요청건은 정상 처리
	앞단IP:접속포트1 auth1;
	앞단IP:접속포트2 auth1;
	...
}
...
proxy_pass $org;

목적은 IP와 PORT에 따라 proxy_pass 위치를 정의하는 방법으로 map 을 사용하였다.

map 을 사용하면 ip와 port 정보로 $org 변수에 데이터가 들어간다.

 

끝!

반응형
복사했습니다!