반응형
Nginx에서 특정 IP 주소를 제한하는 방법
Nginx를 사용하여 특정 IP 주소를 제한하려면 Nginx의 설정 파일에 접근 제어 규칙을 추가해야 합니다.
1. nginx 설정 파일 열기
- nginx의 설정 파일은 일반적으로 /etc/nginx/nginx.conf 또는 /etc/nginx/sites-available/default와 같은 위치에 있습니다.
2. 허용하거나 거부할 IP 주소 지정
- 다음과 같은 형식으로 허용하거나 거부할 IP 주소를 지정합니다
allow [IP 주소];
deny [IP 주소];
- 여러 IP 주소를 지정하려면 각각의 IP 주소를 세미콜론으로 구분합니다.
3. nginx server 블록에 IP 주소 지정
- 허용하거나 거부할 IP 주소를 지정한 후, nginx server 블록에 해당 IP 주소를 지정합니다.
- 예를 들어, 다음과 같이 server 블록을 수정할 수 있습니다
server {
listen 80;
server_name example.com;
allow 192.168.1.1;
deny all;
}
- 여러 IP 주소를 허용하려면 다음과 같이 설정할 수 있습니다
location / {
allow 192.168.1.100;
allow 203.0.113.0/24; # 범위를 지정할 수도 있습니다.
deny all;
}
4. 설정 파일 저장 및 nginx 서비스 재시작
- 설정 파일을 저장한 후, nginx 서비스를 재시작합니다.
- Ubuntu에서는 다음과 같은 명령어를 사용할 수 있습니다
sudo nginx -t
sudo systemctl restart nginx
위의 단계를 따라하면 nginx에서 특정 IP 주소를 제한할 수 있습니다.
728x90
특정 IP 주소 대역에서만 액세스를 허용하도록 구성하고 나머지는 모두 거부
# www.sangchul.kr
server {
listen 80;
server_name www.sangchul.kr;
return 301 https://$host$request_uri;
}
# Settings for a TLS enabled server.
server {
listen 443 ssl http2;
server_name www.sangchul.kr;
..
###Temporary usage setting
error_page 403 /403.html;
location = /403.html {
internal;
return 301 https://www.sangchul.kr;
}
allow 192.168.1.0/24;
allow 192.168.4.0/24;
allow 192.168.15.0/24;
allow 192.168.19.0/24;
deny all;
}
이 설정은 www.sangchul.kr 도메인으로 들어오는 HTTP 요청을 HTTPS로 리다이렉트하며 HTTPS 요청에 대한 설정도 함께 포함하고 있습니다.
- HTTP 요청을 HTTPS로 리다이렉트
- listen 80 : 80번 포트에 대한 설정 즉 HTTP 요청을 처리하기 위한 설정입니다.
- server_name www.sangchul.kr : 이 설정이 적용되는 도메인입니다.
- return 301 https://$host$request_uri; : HTTP 요청을 HTTPS로 리다이렉트하기 위한 설정입니다. $host 변수는 현재 호스트의 이름을 의미하며 $request_uri는 현재 요청된 URI를 의미합니다.
- HTTPS 요청에 대한 설정
- listen 443 ssl http2 : 443번 포트에 대한 설정 즉 HTTPS 요청을 처리하기 위한 설정입니다. ssl은 SSL 인증서를 사용하겠다는 의미이며 http2는 HTTP/2 프로토콜을 사용하겠다는 의미입니다.
- server_name www.sangchul.kr : 이 설정이 적용되는 도메인입니다.
- error_page 403 /403.html; : 403 Forbidden 오류가 발생했을 때 사용자에게 보여줄 페이지를 설정합니다.
- location = /403.html {internal; return 301 https://www.sangchul.kr;} : /403.html 경로에 대한 설정입니다. internal은 이 경로가 내부적으로 사용되는 경로임을 나타내며, return 301 https://www.sangchul.kr;는 403 오류가 발생했을 때 리다이렉트할 페이지를 설정합니다.
- allow 192.168.1.0/24; allow 192.168.4.0/24; allow 192.168.15.0/24; allow 192.168.19.0/24; deny all; : 위에서 설정한 HTTPS 서버에 접근할 수 있는 IP 주소 대역을 설정합니다. allow는 허용할 IP 주소 대역을 설정하며 deny all은 나머지 모든 IP 주소에 대한 접근을 거부합니다.
728x90
반응형
'리눅스' 카테고리의 다른 글
[리눅스] whereis 명령어 (0) | 2023.03.30 |
---|---|
which 명령어 (0) | 2023.03.30 |
웹서버의 동시 접속자 수(동접자) (0) | 2023.03.24 |
[리눅스] siege 명령어 (0) | 2023.03.24 |
[리눅스] core 파일을 분석하는 방법 (0) | 2023.03.24 |