실전 Nginx (3) - 액세스 제어 및 사용자 인증 모듈 및 nginx 내장 상태 페이지 소개
Nginx 의 접근 제어 모듈 은 ngxhttp_access_module, 실제 deny 와 allow 명령 은 ngx 에 속 합 니 다.http_access_module. 저 희 는 특정한 uri 나 경 로 를 제어 하여 접근 하지 못 하 게 하려 면 이 모듈 에 의존 해 야 합 니 다.
1. 모듈 설치:
nginx 를 컴 파일 할 때 접근 제어 모듈 인 자 를 지정 할 필요 가 없습니다. 이 모듈 은 nginx 에 내장 되 어 있 습 니 다. 설치 에 사용 되 지 않 는 한 -- without - httpaccess_module。
2. 모듈 명령 어:
:allow
:
Syntax:allow address | CIDR | unix: | all;
:
Default:―
:
Context:http, server, location, limit_except
ip 이나 ip 세그먼트 에 접근 할 수 있 습 니 다. 유 닉 스: 를 지정 하면 socket 에 접근 할 수 있 습 니 다. 주의: 유 닉 스 가 1.5.1 에 새로 추 가 된 기능 입 니 다. 버 전이 이것 보다 낮 으 면 이 방법 을 사용 하지 마 십시오.
:deny
:
Syntax:deny address | CIDR | unix: | all;
:
Default:―
:
Context:http, server, location, limit_except
어떤 ip 이나 ip 세그먼트 에 접근 하 는 것 을 금지 합 니 다. 유 닉 스: 를 지정 하면 socket 에 접근 하 는 것 을 금지 합 니 다. 같은 곳 에 주의 하 십시오.
3. 홈 페이지 인 스 턴 스:
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
설명:
위 에서 아래로 의 순서, iptables 와 유사 합 니 다.일치 하면 튀 어 나 옵 니 다.위의 예 와 같이 먼저 192.168.1.1 을 금 지 했 고 그 다음 에 3 개의 네트워크 를 허용 했다. 그 중에서 ipv 6 가 포함 되 어 있 고 마지막 에 일치 하지 않 는 IP 는 모두 접근 을 금지 했다.
2. 사용자 인증 모듈 상세 설명
nginxd 의 사용자 인증 모듈 은 ngxhttp_auth_basic_module, 사용자 인증 모듈 을 사용 하여 사용자 가 특정 페이지 에 접근 하 는 것 을 제어 해 야 합 니 다.
1. 모듈 설치
nginx 를 컴 파일 할 때 접근 제어 모듈 인 자 를 지정 할 필요 가 없습니다. 이 모듈 은 nginx 에 내장 되 어 있 습 니 다.
2. 모듈 명령 어:
:
:
Syntax:auth_basic string | off;
:
Default:auth_basic off;
:
Context:http, server, location, limit_except
:
:
Syntax:auth_basic_user_file file;
:
Default:―
:
Context:http, server, location, limit_except
3. 홈 페이지 인 스 턴 스:
location / {
auth_basic "closed site";
auth_basic_user_file conf/htpasswd;
}
설명:
기본 인증 모듈 을 사용 합 니 다. 인증 이름 은 closed site 이 고 인증 파일 은 nginx 설정 파일 경로 에 저 장 된 conf / htpasswd 입 니 다.
3. nginx 의 내 장 된 상태 페이지 에 대한 접근 제어 와 사용자 인증 을 실시 합 니 다.
1. nginx 내장 상태 페이지 소개
nginx 는 phop - fpm 와 마찬가지 로 상태 페이지 를 만 들 었 습 니 다. nginx 의 상 태 를 알 고 싶 거나 nginx 를 감시 하 는 데 도움 이 됩 니 다.
2. nginx status 설정 을 사용 하고 172.16.0.0 / 16 의 네트워크 에 만 접근 할 수 있 습 니 다.
가상 호스트 에 location 이나 접근 하고 싶 은 호스트 를 추가 합 니 다.
[root@www ~]# vim /etc/nginx/extra/nginx-vhost.conf
server {
listen *:80 default_server;
server_name www.stu31.com;
index index.html index.htm ;
root /www/vhosts/www1;
access_log /var/log/nginx/www.stu31.com.log main ;
location /status {
stub_status on;
allow 172.16.0.0/16;
deny all;
}
}
2. nginx 다시 시작
문법 검사:
[root@www ~]# service nginx configtest
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
다시 시작 nginx
[root@www ~]# service nginx restart
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Stopping nginx: [ OK ]
Starting nginx: [ OK ]
3. status 페이지 방문:
[root@www ~]# curl http://172.16.31.40/status
Active connections: 1
server accepts handled requests
6 6 5
Reading: 0 Writing: 1 Waiting: 0
4. nginx status 상세 설명
active connections �C
server accepts handled requests ― 6 , 6 , 5
reading ― .
writing ―
waiting ― keep-alive , active �C (reading+writing), Nginx .
5. 가상 오픈 사용자 인증
[root@www ~]# vim /etc/nginx/extra/nginx-vhost.conf
server {
listen *:80 default_server;
server_name www.stu31.com;
index index.html index.htm ;
root /www/vhosts/www1;
access_log /var/log/nginx/www.stu31.com.log main ;
location /status {
stub_status on;
auth_basic "Nginx-status";
auth_basic_user_file /etc/nginx/.htpasswd;
allow 172.16.0.0/16;
deny all;
}
}
6. 사용자 인증 파일 만 들 기
[root@www ~]# htpasswd -c -m /etc/nginx/.htpasswd status
New password:
Re-type new password:
Adding password for user status
[root@www ~]# ll -a /etc/nginx/.htpasswd
-rw-r--r-- 1 root root 45 Dec 27 12:33 /etc/nginx/.htpasswd
7. nginx 서비스 다시 시작
[root@www ~]# service nginx restart
8. 사용자 이름 비밀 번 호 를 입력 하여 nginx 상태 페이지 에 접근:
[root@www ~]# curl -u status:status http://172.16.31.40/status
Active connections: 1
server accepts handled requests
4 4 4
Reading: 0 Writing: 1 Waiting: 0
방문 성공.
이로써 nginx 의 방문 제어 모듈 과 사용자 인증 모듈 및 nginx 내장 상태 페이지 를 여 는 지식 이 소개 되 었 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.