1. 하나의 요청을 여러 서버가 알아야 할 때
아래의 그림과 같이 한 서버에 요청을 릴레이 하면서 또 다른 서버가 해당 요청을 알아야 할때 사용할 수 있는 mirror 기능이다.
2. NginX conf
location / {
mirror /mirror;
proxy_pass http://location.to;
}
location /mirror {
internal;
proxy_pass http://location.to.mirror;
}
location으로 /mirror을 등록하고, internal 지시어를 통하여 해당 path는 내부적으로만 접근할 수 있게 강제한다. (외부에서 도메인이나 ip타고 들어오는 경우엔 접근할 수 없다는 의미)
그리고 해당 path에 proxy_pass를 설정한 다음 등록을 원하는 location에 mirror로 등록하면 된다.
이렇게 되면 /으로 오는 요청은 항상 location.to, location.to.mirror에 모두 전달되지만, location.to.mirro 응답은 nginx단에서 버려진다. 즉, 웹 서버 본연의 요청-응답 모델에 어떠한 영향 없이 스니핑이 가능한 상태가 된다.
3. 어디다 쓰지?
이미 이 글을 검색해서 들어왔다면 원하는 쓰임새가 있을 것이다. 나의 경우 데이터 전달시 두 서버에 전달하기 위하여 mirror를 활용했다.
'프로그래밍 > 서버, DBMS' 카테고리의 다른 글
MySql - DB 저장 위치 변경 & 디스크 변경 (데이터 복사) (0) | 2022.04.08 |
---|---|
리눅스 파일 전송 명령어 : SCP (0) | 2021.12.15 |
Mac에 Node.js 설치 & 확인하기 (0) | 2021.05.16 |
[책 요약] Effective SQL - SQL 코딩의 기술 요약 (Ch3. 데이터 모델 설계를 변경할 수 없는 경우) (0) | 2021.04.20 |
[책 요약] Effective SQL - SQL 코딩의 기술 요약 (Ch2. 인덱스 설계와 프로그램적 처리) (0) | 2021.03.10 |