nginx为什么会出现403


本文摘自PHP中文网,作者步履不停,侵删。

Nginx也是当前流行的一款 轻量级服务器,在日常使用中呢 也会出现一些问题,今天在安装配置Nginx的时候就出现了,403 Forbindden的被禁止访问的错误,网上搜索之后完美解决,这里给大家分享下。

话不多说先粘上原版nginx 配置文件代码 :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

[plain] view plain copy

worker_processes  1; 

   

events { 

    worker_connections  1024; 

   

http { 

    include       mime.types; 

    default_type  application/octet-stream; 

       

    sendfile        on; 

    autoindex       on; 

    keepalive_timeout  65; 

  fastcgi_connect_timeout 300; 

  fastcgi_send_timeout 300; 

  fastcgi_read_timeout 300; 

  fastcgi_buffer_size 128k; 

  fastcgi_buffers 4 128k; 

  fastcgi_busy_buffers_size 256k; 

  fastcgi_temp_file_write_size 256k; 

   

  #gzip  on; 

  gzip on; 

  gzip_min_length  1k; 

  gzip_buffers     4 32k; 

  gzip_http_version 1.1; 

  gzip_comp_level 2; 

  gzip_types       text/plain application/x-javascript text/css application/xml; 

  gzip_vary on; 

  gzip_disable "MSIE [1-6]."

   

  server_names_hash_bucket_size 128; 

  client_max_body_size     100m;  

  client_header_buffer_size 256k; 

  large_client_header_buffers 4 256k; 

   

    server { 

        listen       80; 

        server_name  localhost; 

        autoindex       on;   #是否允许访问目录 

   

        root   "C:/WWW"

        location / { 

            index  index.html index.htm  l.php; 

            #index.php 

           autoindex  on; 

        

        error_page   500 502 503 504  /50x.html; 

        location = /50x.html { 

            root   html; 

        

   

        location ~ \.php(.*)$  { 

            fastcgi_pass   127.0.0.1:9000; 

            #fastcgi_index  index.php; 

            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$; 

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name

            fastcgi_param  PATH_INFO  $fastcgi_path_info

            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info

            include        fastcgi_params; 

        

   

    

   

include vh_*.conf; 

   

}


这么多配置文件代码(为了便于查看已经把注释的那些不懂的删除)

先说403出现的原因

当访问该地址的时候,nginx会按照index.html,index.htm,index.php的先后顺序在根目录中查找文件。如果这三个文件都不存在,那么nginx就会返回403Forbidden。

因为根目录下也是没有这三个文件的,所以直接

1

2

3

4

5

6

7

[plain] view plain copy

root   "C:/WWW"

  location / { 

      index  index.html index.htm  l.php; 

      #index.php 

     autoindex  on; 

  }

注释:项目列表就展示出来了

这里要注意

autoindex on; 这个默认是off的,意思是禁止访问目录,需要开启

还有一点推荐大家别把配置项,都写在这个文件当中,不便于管理

[plain] view plain copy

include vh_*.conf;

可以引入,这样一个域名一个配置文件,方便管理。

更多Nginx相关技术文章,请访问Nginx教程栏目进行学习!

以上就是nginx为什么会出现403的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

nginx怎样打开目录浏览功能

深入 nginx 之配置篇

nginx如何设置多端口访问

nginx修改配置文件以后怎么重启

nginx使用geoip做区域限制

ngin作为http服务器的特性功能

nginx默认端口是多少

nginx如何实现端口转发

设置nginx开机自启动的方法

404 not found nginx是什么意思

更多相关阅读请进入《nginx》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...