분당 요청수 제한 설정
$ sudo nano /etc/nginx/nginx.conf
$ sudo nano /etc/nginx/sites-enabled/default
http {
...
# IP 주소에 따라 키(key)를 생성하는 규칙 정의
geo $limit_key {
default 1; # 기본값은 1 (제한 적용)
# 요청수 제한에 제외 설정
123.123.123.123 0; # 제외할 IP는 0 (제한 미적용)
192.168.0.0/24 0; # 요청수 제한에 제외할 IP 대역
}
# $limit_addr 생성
map $limit_key $limit_addr {
1 $binary_remote_addr;
0 "";
}
# 실제 요청 제한 규칙 정의
limit_req_zone $limit_addr zone=by_ip:10m rate=50r/m; # 1분에 50회로 요청 제한
limit_req_status 429; # 503 대신 429 반환
server {
...
# 정적파일은 제한을 걸지 않음
location ~* \.(?:js|css|png|jpg|gif|svg|ico|webp|woff2|ttf|map)$ { }
location / {
...
# 위에서 정의한 'by_ip' 규칙 적용
limit_req zone=by_ip burst=10 nodelay;
...
}
...
}
}
- 설정 검사
sudo nginx -t
- 변경된 설정으로 변경
sudo systemctl reload nginx
'IT' 카테고리의 다른 글
COM Surrogate, 프로세스의 역할 확인 방법 (0) | 2025.03.21 |
---|---|
The AppX Deployment Service (AppXSVC) 에러 해결 방법 (2) | 2024.11.21 |
파일비교 유틸(diff tool) (0) | 2024.10.13 |
구글 크롬 웹 브라우저 출시일 역사 리스트 (년도:버전) (0) | 2024.09.25 |
TPM(Trusted Platform Module) (0) | 2024.06.12 |