Nginx 403 forbidden 원인 및 고장 시 뮬 레이 션 재현

10417 단어 nginx
이 글 은 전 재 된 글 인 데 괜 찮 은 것 같 아서 기록 을 하 자.
 
Nginx 에 접근 하면 상태 코드 가 403 forbidden 원인 및 고장 시 뮬 레이 션 입 니 다.
1) nginx 프로필 에 기본 홈 페이지 인자 나 홈 페이지 파일 이 사이트 디 렉 터 리 에 없습니다.
1 index index.php index.html index.htm;
 1 [root@www extra]# cat www.conf

 2 #www virtualhost by oldboy

 3    server {

 4        listen       80;

 5        server_name  www.etiantian.org;

 6        location / {

 7            root   html/www;

 8            #index  index.html index.htm;#<==        

 9        }

10        access_log off;

11    }

12 [root@www extra]# ../../sbin/nginx -sreload

13 [root@www extra]# tail -1 /etc/hosts

14 10.0.0.8 www.etiantian.orgbbs.etiantian.org blog.etiantian.org etiantian.org

15 [root@www extra]# ll ../../html/www/                   

16     12

17 drwxr-xr-x 2 root root 4096 4   15 14:20 blog

18 -rw-r--r-- 1 root root    4 4   17 17:11index.html #<==      

19 drwxr-xr-x 2 root root 4096 4   15 14:19 oldboy

20 [root@www extra]# curl -I -s 10.0.0.8|head -1

21 HTTP/1.1 403 Forbidden #<==   ,Nginx           ,    Nginx    index.html   ,   403  。

2) 사이트 디 렉 터 리 에 파일 에 지정 한 첫 페이지 파일 index. php index. html index. htm 를 설정 하지 않 았 습 니 다.
 1 [root@www extra]# cat www.conf

 2 #www virtualhost by oldboy

 3    server {

 4        listen       80;

 5        server_name www.etiantian.org;

 6        location / {

 7            root   html/www;

 8            index  index.htmlindex.htm; #<==        

 9        }

10        access_log off;

11    }

12 [root@www extra]# ../../sbin/nginx -sreload

13 [root@www extra]# rm -f ../../html/www/index.html#<==        

14 [root@www extra]# curl -I -s 10.0.0.8|head -1

15 HTTP/1.1 403 Forbidden

알림: 상기 1) 과 2) 이 문 제 를 해결 할 수 있 는 매개 변 수 는 다음 과 같 습 니 다.
 1 autoindex on;

 2 [root@www extra]# cat www.conf

 3 #www virtualhost by oldboy

 4    server {

 5        listen       80;

 6        server_name  www.etiantian.org;

 7        location / {

 8            root   html/www;

 9            autoindex on; #<==         ,       ,              。

10        }

11        access_log off;

12    }

3) 사이트 디 렉 터 리 나 내부 프로그램 파일 에 Nginx 사용자 접근 권한 이 없습니다.
1 [root@www extra]# echo test >../../html/www/index.html

2 [root@www extra]# chmod 700../../html/www/index.html #<==  700 nginx      

3 [root@www extra]# ls -l ../../html/www/index.html

4 -rwx------ 1 root root 5 4   17 17:15../../html/www/index.html

5 [root@www extra]# curl -I -s 10.0.0.8|head-1

6 HTTP/1.1 403 Forbidden #<==403  

7 [root@www extra]# chmod 755../../html/www/index.html #<==  755 nginx      

8 [root@www extra]# curl -I -s 10.0.0.8|head -1

9 HTTP/1.1 200 OK #<==200 OK 

4) Nginx 설정 파일 에 allow, deny 등 권한 제어 가 설정 되 어 있어 클 라 이언 트 가 접근 할 수 없습니다.
 1 [root@www extra]# cat www.conf

 2 #www virtualhost by oldboy

 3    server {

 4        listen       80;

 5        server_name  www.etiantian.org;

 6        location / {

 7            root   html/www;

 8            index  index.html index.htm;

 9            allow 192.168.1.0/24;

10            deny all;

11        }

12        access_log off;

13    }

14 [root@www extra]# curl -I -s 10.0.0.8|head-1

15 HTTP/1.1 200 OK #<==  755 nginx      

16 [root@www extra]# ../../sbin/nginx -sreload

17 [root@www extra]# curl -I -s 10.0.0.8|head -1

18 HTTP/1.1 403 Forbidden

알림: 상기 403 문 제 는 nginx 만 있 는 것 이 아니 라 apache 서비스의 Forbidden 403 문제 도 이 몇 가지 문제 로 인해 발생 한 것 입 니 다. 다만 매개 변수 디 테 일 에 약간의 차이 가 있 을 뿐 입 니 다. http://oldboy.blog.51cto.com/2561410/581383    올 드 보이 학생 들 의 공유 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기