728x90
NGINX에서 특정 IP 주소를 허용하고 나머지 모든 IP 주소를 리다이렉트하도록 설정하는 방법
geo 지시자 예시
geo $geo {
default 0;
127.0.0.1 2;
192.168.1.0/24 1;
10.1.0.0/16 1;
::1 2;
2001:0db8::/32 1;
}
특정 IP 주소를 차단하고 차단된 IP 주소를 특정 URL로 리다이렉트하는 설정
- 이 설정에서는 192.168.1.1과 10.0.0.1 IP 주소에서 요청이 들어오는 경우에만 접근을 허용하고 다른 모든 IP 주소는 http://example.com/denied.html로 리다이렉트합니다.
http {
# geo 모듈을 사용하여 IP 주소를 차단 목록에 추가
geo $deny_ip {
default 0;
192.168.1.1 1; # 차단할 IP 주소
10.0.0.1 1; # 다른 차단할 IP 주소
203.0.113.0/24 1; # 다른 차단할 IP 주소 대역
}
server {
listen 80;
server_name example.com;
# 차단된 IP를 리다이렉트
if ($deny_ip) {
return 302 http://example.com/denied.html;
}
location / {
# 실제 컨텐츠 설정
}
}
}
728x90
특정 IP 주소는 접근을 허용하고 그 외의 모든 IP 주소는 리다이렉트하도록 설정
- 이 설정에서는 192.168.1.1과 10.0.0.1 IP 주소에서 요청이 들어오는 경우에만 접근을 허용하고 다른 모든 IP 주소는 http://example.com/denied.html로 리다이렉트합니다.
http {
# geo 모듈을 사용하여 IP 주소를 허용 목록에 추가
geo $allow_ip {
default 0; # 기본적으로 모든 IP는 허용되지 않음
192.168.1.1 1; # 접근을 허용할 IP 주소
10.0.0.1 1; # 다른 접근을 허용할 IP 주소
203.0.113.0/24 1; # 허용할 IP 주소 대역
}
server {
listen 80;
server_name example.com;
# 허용된 IP인지 확인하고 허용되지 않은 경우 리다이렉트
if ($allow_ip = 0) {
return 302 http://example.com/denied.html;
}
location / {
# 실제 컨텐츠 설정
}
}
}
설정 파일을 테스트
- 설정 파일이 올바른지 확인합니다.
sudo nginx -t
NGINX 재시작
- 설정이 올바르면 NGINX를 재시작하여 변경 사항을 적용합니다.
sudo systemctl restart nginx
이제 지정한 IP 주소에서만 접근이 허용되고 그 외의 모든 IP 주소는 리다이렉트됩니다.
참고URL
- NGINX Documentation : Module ngx_http_geo_module
728x90
'리눅스' 카테고리의 다른 글
[draft] 우분투에 Grafana Loki를 설치하고 구성하는 방법 (0) | 2024.06.30 |
---|---|
[draft] 우분투에 Node Exporter를 설치하고 실행하는 방법 (0) | 2024.06.28 |
[draft] NGINX의 SSL/TLS 프로토콜 및 암호화 스위트를 안전하게 구성하는 방법 (0) | 2024.06.21 |
[draft] 우분투에서 node.js 애플리케이션을 pm2를 사용하여 실행하는 방법 (0) | 2024.06.20 |
[draft] Puppeteer를 사용하여 테스트하는 방법 (0) | 2024.06.13 |