먼저 프록시에 대해 알면 이해하기 쉽다.
대리
,정보를 대신 전달해주는 주체
클라이언트와 서버의 사이에서 정보를 전달하는 중간자 역할을 한다고 생각한다.
클라이언트의 요청을 대신 받아
내부 서버로 전달
해주는 것을 의미한다.
클라이언트가 직접적으로 서버에 요청을 보낼 수 있지만, 사용자가 많아지거나, 웹 서버가 노출되었을 경우 보안에 취약하기 때문에 Reverse Proxy를 통해서 해결할 수 있다.
로드밸런싱 : Nginx는 클라이언트의 요청을 프록시 서버에 분산하기 위해 로드 밸런싱을 수행하여 성능, 확장성 및 신뢰성을 향상시킬 수 있다.
캐싱 : Nginx를 역방향 프록시로 사용하면 미리 렌더링된 버전의 페이지를 캐시하여 페이지로드 시간을 단축할 수 있다. 이 기능은 프록시 서버의 응답에서 수신할 콘텐츠를 캐싱하고 이 콘첸르를 사용하여 매번 동일한 콘텐츠를 프록시 서버에 연결할 필요 없이 클라이언트에 응답하는 방식으로 작동한다.
SSL 터미네이션 : Nginx는 클라이언트와의 연결에 대한 SSL 끝점 역할을 수행할 수 있다. 수신 SSL 연결을 처리 및 해독하고 프록시 서버의 응답을 암호화한다.
압축 : 프록시 서버가 압축된 응답을 보내지 않는 경우 클라이언트로 보내기 전에 응답을 압축하도록 Nginx를 구성할 수 있다.
DDoS 공격 완화 : 수신 요청과 단일 IP 주소당 연결 수를 일반 사용자에게 일반적인 값으로 제한할 수 있다. 또한 Nginx를 사용하면 클라이언트 위치와 "User-에이전트" 및 "Referer"와 같은 요청 헤더 값을 기준으로 액세스를 차단하거나 제한할 수 있다.