本文目录:
- 1、nginx怎么设置指定目录ip访问限制
- 2、nginx 禁止ip访问
- 3、如何配置nginx达到只允许域名访问网址,禁止ip
- 4、nginx如何禁止代理IP访问?
nginx怎么设置指定目录ip访问限制
nginx中针对目录进行IP限制 ,这里以phpmyadmin目录只能让内网IP访问,而外网不能访问的配置方法。
nginx phpmyadmin 针对内网ip用户开放、外网ip用户关闭(在前面的配置中,location ~ ^/目录/使用正则, 优先级高于location /的配置,所以nginx无法对首页进行解析)
代码如下:
server {
listen 80;
server_name example.com;
access_log logs/access.log main;
location / {
root html;
index index.php index.html index.htm;
}
location ~ ^/phpmyadmin/ {
allow 192.168.1.0/24;
deny all;
location ~ .*.(php|php5)?$ {
root /var/mailapp/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
location ~ .*.(php|php5)?$ {
root /opt/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
nginx 禁止ip访问
因为这里面只有一个server域,并且又设置了default标识,因此,此处可能是可以用ip进行访问的。
如果想屏蔽掉ip访问,只允许域名访问的话,可以增加如下配置。
server {
#....
if ( $host ~* "\d+\.\d+\.\d+\.\d+" ) {
return 400;
}
location / {
#....
}
}
这样,当用ip访问时,$host的值就为ip地址,如果$host否和ip的正则,就直接返回400给客户端。
你不防线这样试试。
如何配置nginx达到只允许域名访问网址,禁止ip
Nginx 禁止IP访问
我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了。下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效最关键的一点是,在server的设置里面添加这一行:
listen 80 default;
后面的default参数表示这个是默认虚拟主机。
Nginx 禁止IP访问这个设置非常有用。
比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。就可以这样设置:
server {
listen 80 default;
return 500;
}
nginx如何禁止代理IP访问?
nginx有禁止ip访问的功能,比如你想禁止的代理ip是2.2.2.2,那么配置可以写:
location / {
deny 2.2.2.2;
}当然nginx非常的灵活,他也可以禁止某个url,或者是正则匹配的规则。黑白名单都可以做,功能很强大。我只给你举了一个简单的例子。
【nginx禁止ip访问目录】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: