nginx 접근 제어 설정
1. IP 기반 접근 제어 (ngx http access module)
이 모듈 은 일부 클 라 이언 트 주소 에 접근 하 는 것 을 제한 할 수 있 습 니 다.프로필 은 다음 과 같 습 니 다:
location ~ ^/index.html {
root /app;
deny all;
allow 127.0.0.1;
index index.html index.htm;
}
그 중에서 ~ 요청 경로 url 의 패턴 이 일치 하 는 것 을 표시 합 니 다. 그 중에서 루트 뒤의 경 로 는 index. html 가 루트 디 렉 터 리 아래 에 있 는 경로 입 니 다. 이 설정 은 / app 아래 index. html 파일 은 로 컬 접근 만 허용 한 다 는 뜻 입 니 다.
일부 ip 네트워크 에 만 블랙 리스트 를 설정 하면 다음 과 같이 설정 합 니 다.
location ~ ^/index.html {
root /app;
deny 192.168.1.0/24;192.168.0.0/16;
allow all;
index index.html index.htm;
}
모든 디 렉 터 리 에 있 는 sql | log | txt | jar | war | sh | py 접미사 에 접근 하지 못 하 게 하려 면 다음 과 같이 설정 하 십시오: location ~. *. (sql | log | txt | jar | war | sh | py) {deny all;} 설정 이 완료 되면 설정 재 부팅 을 확인 하 십시오. 명령 은 다음 과 같 습 니 다.
nginx -tc /etc/nginx/nginx.conf
systemctl reload nginx
ngx_http_access_module 의 한계 성
클 라 이언 트 가 프 록 시 를 통 해 접근 할 때 nginx 의 remoteaddr (서버 와 직접 연 결 된 클 라 이언 트 ip 을 가 져 옵 니 다) 가 져 온 것 은 프 록 시 ip 입 니 다.그래서 http 를 사용 해 야 합 니 다.x_forwarded_for (클 라 이언 트 및 미들웨어 대 리 를 기록 할 수 있 는 ip)
2. 사용자 인증 기반 접근 제어 (ngx http auth basic module)
이 모듈 은 "HTTP 기본 인증 프로 토 콜" 을 사용 하여 사용자 이름과 비밀 번 호 를 검증 하여 자원 에 대한 접근 을 제한 할 수 있 습 니 다.
프로필 을 편집 하기 전에 사용자 이름과 비밀 번 호 를 저장 하 는 파일 user 를 만들어 야 합 니 다.file, 파일 형식 은 다음 과 같 습 니 다.
name1:password1
name2:password2
암호 화 는 htpasswd 를 선택 하 였 습 니 다.따라서 이 파일 을 만 들 기 전에 암호 화 에 대응 하 는 패 키 지 를 설치 해 야 합 니 다. 명령 은 다음 과 같 습 니 다.
yum -y install httpd-tools
user 생 성file:
htpasswd -c -m /var/users cuicui qazwsx
프로필 편집:
location ~ ^/index.html {
root /app;
auth_basic "Auth access test! input your password!";
auth_basic_user_file /var/users;
index index.html index.htm;
}
설정 이 완료 되면 설정 재 부팅 을 확인 하 십시오. 명령 은 다음 과 같 습 니 다.
nginx -tc /etc/nginx/nginx.conf
systemctl reload nginx
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.