1. 프록시 서버
프록시 서버란 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 프록시 서버를 사용하면 보안성, 성능, 안정성을 향상할 수 있다.
2. 포워드 프록시 서버 (클라이언트와 가깝게)
흔히 말하는 '프록시 서버'는 포워드 프록시 서버를 의미한다. 클라이언트가 인터넷 웹서버에 요청을 보내면 중간에서 그 요청을 프록시 서버가 가로채고 프록시 서버는 해당 요청을 웹 서버에게 보낸 후 받은 응답을 클라이언트에게 전달한다.
1) 포워드 프록시 서버를 사용하는 이유?
정부, 학교, 기업 등과 같은 기관에 속한 사람들이 기관 내에서 인터넷을 사용할 때 제한을 하기 위해 사용한다. 해당 기관에 속한 사람들이 그들이 방문하고자 하는 웹사이트에 직접적으로 방문하는 것을 방지하는 것이다.
예를 들어 포워드 프록시 서버에 특정 rule을 추가해서 특정 사이트에 접속하는 것을 막을 수 있다.
게다가, 포워드 프록시 서버를 사용하면 유저의 정체를 숨겨준다. IP주소를 역추적하려고 해도 프록시 서버IP만 알 수 있기 때문에 특정 유저의 정체 파악하기 어렵다.
3. 리버스 프록시 서버 (웹 서버와 가깝게)
포워드 프록시 서버는 클라이언트 앞에 놓여져 있는 반면, 리버스 프록시 서버는 웹 서버 앞에 놓여있다.
1) 리버스 프록시 서버를 사용하는 이유?
첫 번째로 로드 밸런싱에 사용한다. 대량의 트래픽을 감당하기 위해 리버스 프록시 서버를 여러 웹 서버 앞에 두고 특정 서버에 부하가 걸리지 않도록 로드밸런싱한다. 또한, 리버스 프록시를 사용하면 본래 서버의 IP주소를 노출시킬 필요가 없어서 DDoS같은 공격을 막는데 유용하다. 그리고 리버스 프록시 서버에는 성능 향상을 위해 캐시 데이터를 저장할 수 있다. 예를 들어 한국에 있는 사용자가 미국에 있는 웹서버에 접속할 때 리버스 프록시 서버가 한국에 있다면 한국에 있는 사용자는 한국에 있는 리버스 프록시 서버와 통신한다. 따라서 더 빠른 성능을 보여줄 수 있다.
마지막으로 SSL암호화에 좋다. 본래 서버가 클라이언트와 통신할 때 SSL(or TSL)로 암호화, 복호화할 경우 비용이 많이든다. 그러나 리버스 프록시를 사용하면 들어오는 요청을 모두 복호화 하고 나가는 응답을 모두 암호화해주므로 클라이언트와 안전한 통신을 하며 서버에서 처리해야할 역할을 대신해줘 부담을 줄여준다.
L2 : 맥주소를 기반으로 로드밸런싱
L3 : IP 주소를 기반으로 로드밸런싱
L4 : 전송계층에서 로드밸런싱
L7 : 응용계층에서 로드밸런싱
@참고 :
https://www.youtube.com/watch?v=u4O4zHdiFhk&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=95
'CS > ETC.' 카테고리의 다른 글
Sonatype Nexus (0) | 2022.12.23 |
---|---|
Git revert, reset (0) | 2022.08.17 |
웹 표준, 웹 접근성 (0) | 2022.07.22 |
팝업, 모달창 (0) | 2022.04.29 |
브랜치 전략 (0) | 2022.04.17 |