[Openresty] 프록시서버 설치하기
2022. 9. 30. 10:13
엔지니어링/프록시
이번에 테스트 환경을 구축하다가 openresty 설치를 했는데, 1년전에 했던거라 기억이 가물가물 해져서 기록한다..ㅋ 설치환경은 우분투에서 진행했다.(나머지도 거의 동일함 레포 명령어차이) 필수 라이브러리 설치 $ apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl make -y openresty 설치 openresty 파일 다운로드 openresty 사이트에 방문하여 설치 url을 복사한 뒤 wget으로 다운하자. OpenResty - Download Ylang: Universal Language for eBPF, Stap+, GDB, and More (Part 3) openresty.org 현재 가장 최신버전은 ..
[Openresty] 특정 클라이언트 구분하기
2022. 9. 28. 15:21
엔지니어링/프록시
이번에 특정 클라이언트의 요청을 타 도메인을 꺾는 테스트가 필요하여 진행한 내용을 정리한다. 환경은 3scale를 사용하기때문에 staging/product 2개의 도메인이 존재한다. 그래서 특정 클라이언트 1.1.1.1 ip가 들어오면 staging도메인으로 강제로 꺾어주는 테스트를 진행한다. 네트워크 구간은 대충 아래와 같다. [데이터요청서버] -> [아웃바운드프록시] -> [L7 Layer] -> [L4 Layer] -> [인바운드프록시] -> [3scale] -> [백엔드서버] proxy 구간이 존재하기 때문에 remote_ip 가 아닌 x-forwarded-for 를 사용해 클라이언트의 ip를 체크해야한다. (remote_ip 는 바로 전 라우터의 ip가 나오기 때문) nginx.conf 설정 ..
[Openresty] 특정 대상 경로 우회
2022. 8. 4. 14:00
엔지니어링/프록시
예전 프로젝트에서 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; L..