Nginx 常见应用技术指南[Nginx Tips] 第二版

940阅读 0评论2011-11-11 zbhdpx
分类:BSD

 
 

Nginx 访问控制

1.        Nginx 身份证验证

#cd /usr/local/nginx/conf
#mkdir htpasswd
/usr/local/apache2/bin/htpasswd -c /usr/local/nginx/conf/htpasswd/tongji linuxtone
#添加用户名为linuxtone
New password:   (此处输入你的密码)
Re-type new password:   (再次输入你的密码)
Adding password for user
(目录存在/data/www/wwwroot/tongji/data/目录下)
将下段配置放到虚拟主机目录,当访问即提示要密验证:
location ~ ^/(tongji)/  {
                 root    /data/www/wwwroot/count;
                         auth_basic              "LT-COUNT-TongJi";
                         auth_basic_user_file  /usr/local/nginx/conf/htpasswd/tongji;
                 }
 

2.        Nginx 禁止访问某类型的文件.
如,Nginx下禁止访问*.txt文件,配置方法如下.

location ~* \.(txt|doc)$ {
    if (-f $request_filename) {
    root /data/www/wwwroot/linuxtone/test;
    #rewrite …..可以重定向到某个URL
    break;
    }
}
 

方法2:

location ~* \.(txt|doc)${
         root /data/www/wwwroot/linuxtone/test;
         deny all;
}
 
 

实例:
禁止访问某个目录

location ~ ^/(WEB-INF)/ {
             deny all;
}  
 
 

3.        使用ngx_http_access_module限制ip访问

location / {
     deny    192.168.1.1;
     allow   192.168.1.0/24;
     allow   10.1.1.0/16;
     deny    all;
}
 
 

详细参见wiki:

4.        Nginx 下载限制并发和速率

limit_zone   linuxtone  $binary_remote_addr  10m;
server
        {
                listen       80;
                server_name  down.linuxotne.org;
                index index.html index.htm index.php;
                root   /data/www/wwwroot/down;
                #Zone limit
                location / {
                    limit_conn   linuxtone  1;
                    limit_rate  20k;
                }
..........
        }
 
 

只允许客房端一个线程,每个线程20k.
【注】limit_zone   linuxtone  $binary_remote_addr  10m; 这个可以定义在主的


5.        Nginx 实现Apache一样目录列表

location  /  {
     autoindex  on;
}
 
 

6.        上文件大小限制
主配置文件里加入如下,具体大小根据你自己的业务做调整。

client_max_body_size 10m;      

                                        

转自:

上一篇:nginx设置默认虚拟主机
下一篇:nginx对目录进行认证