欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx 访问控制 (转)

程序员文章站 2024-03-19 13:57:34
...
[url]http://hi.baidu.com/%D0%A1%D0%A1%D4%CB%CE%AC/blog/item/f5f9c8d205607a349b502719.html[/url]
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
http://count.linuxtone.org/tongji/data/index.html(目录存在/data/www/wwwroot/tongji/data/目录下)
将下段配置放到虚拟主机目录,当访问http://count.linuxtone/tongji/即提示要密验证:
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下禁止访问[color=green][b]*.txt[/b][/color]文件,配置方法如下.
方法1:
    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: http://wiki.codemongers.com/NginxHttpAccessModule#allow



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 访问权限