DevOps & SRE/Nginx
[Nginx RateLimit] Nginx에 RateLimit 적용해보기
Rate Limiting주어진 특정한 시간 동안 제한된 HTTP 요청량을 제한할 수 있도록 하는 기능.Rate Limiting을 하는 이유보안 측면의 목적 (Brute force attack 방지 등)비정상적인 요청 방지 (DDoS 공격 등 방지)서버가 처리할 수 있는 요청의 임계 값을 넘어선 요청을 방지함으로써 서버의 안정성을 높이는 역할서버의 안정성을 위해예를 들어서 비정상 호출 방지를 위해 동일 IP에서 초당 요청할 수 있는 횟수를 10회로 제한한다.서버의 안정성을 위해 서버에 들어오는 최대 요청 수를 초당 500회로 제한한다.등 제한을 추가할 필요가 있을 때, Nginx Rate Limiting 기능을 사용하면 유용하다.Nginxnginx에서도 RateLimit를 위한 모듈을 제공하고 있다.ex)..
Nginx 동작 방식부터 프록시, 로드밸런서까지
nginx란? Apache와 같은 웹 서버로 클라이언트로부터의 요청에 맞는 정적 파일을 응답해주는 WebServer로 사용되기도 하고, 동적인 리소스를 처리하기 위해 WAS로 요청을 전달해주기도 한다. 이러한 역할들을 나열해보면 정적 파일을 처리한다. WAS 서버에 요청을 보내주는 프록시 기능 수행. 다수의 WAS 서버로 요청을 분배하는 로드밸런서의 역할을 수행. SSL 혹은 프록시를 통해서 보안 강화. 캐싱 처리. 등의 역할을 수행한다고 할 수 있다. Apache vs Nginx 웹 서버 중 Apache, Nginx가 가장 유명하다고 할 수 있는데, 어떠한 차이가 있는지 봐볼까요? Apache 아파치 서버는 클라이언트로부터의 요청마다 프로세스, 스레드가 처리하는 구조. Prework, Worker 두 ..