本文目录:
- 1、如何配置nginx达到只允许域名访问网址,禁止ip
- 2、nginx如何禁止代理IP访问?
- 3、nginx 封ip或ip段
- 4、如何设置Nginx服务器禁止通过IP地址访问
- 5、如何设置Nginx,使得其可以拒绝某些IP连接
- 6、如何禁掉nginx恶意访问ip
如何配置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或ip段
首先要建一个封ip的配置文件blockips.conf,然后vi blockips.conf编辑此文件,在文件中输入要封的ip。
deny 1.2.3.4;
deny 91.212.45.0/24;
deny 91.212.65.0/24;
然后保存此文件,并且打开nginx.conf文件,在http配置节内添加下面一行配置:
include blockips.conf;
保存nginx.conf文件,然后测试现在的nginx配置文件是否是合法的:
/usr/sbin/nginx -t
如果配置没有问题
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
如何禁止所有外网ip,仅允许内网ip呢?
如下配置文件
location / { # block one workstation deny 192.168.1.1; # allow anyone in 192.168.1.0/24 allow 192.168.1.0/24; # drop rest of the world deny all;}
上面配置中禁止了192.168.1.1,允许其他内网网段,然后deny all禁止其他所有ip。
如何格式化nginx的403页面呢?
首先执行下面的命令:
cd /usr/local/nginx/html
vi error403.html
然后输入403的文件内容,例如:
Error 403 - IP Address BlockedYour IP Address is blocked. If you this an error, please contact webmaster with your IP at webmaster@example.com
如果启用了SSI,可以在403中显示被封的客户端ip,如下:
Your IP Address is blocked.
保存error403文件,然后打开nginx的配置文件vi nginx.conf,在server配置节内添加下面内容
# redirect server error pages to the static page error_page 403 /error403.html; location = /error403.html { root html; }
然后保存配置文件,通过nginx -t命令测试配置文件是否正确,若正确通过nginx -s reload载入配置。
如何设置Nginx服务器禁止通过IP地址访问
将需要禁止的 IP 放入 Nginx 配置文件并 reload 使其生效即可
假设 nginx 安装路径为:/usr/local/nginx-1.7.8
则在该路径下新建配置文件:touch blockips.conf
将你要屏蔽的 IP 写入该文件:vim blockips.conf
deny 1.2.3.4;
deny 91.212.45.0/24;
deny 91.212.65.0/24;
然后保存退出
进入路径 /usr/local/nginx-1.7.8/conf
编辑文件:nginx.conf
在该文件最后一行写入:include blockips.conf;
进入路径 /usr/local/nginx/sbin/
测试 nginx.conf 文件是否合法:./nginx -t
如果没有问题 则执行 ./nginx -s reload
这样子 即可生效
如何设置Nginx,使得其可以拒绝某些IP连接
nginx拒绝或允许指定IP,是使用模块HTTP访问控制模块(HTTP Access).
控制规则按照声明的顺序进行检查,首条匹配IP的访问规则将被启用。
location / {
deny 192.168.1.11;
allow 192.168.1.22/224;
allow 10.1.1.12/126;
deny all;
}
deny表示拒绝,allow表示允许。
上面的例子中仅允许192.168.1.22/224和10.1.1.12/126网络段访问这个location字段,但192.168.1.11是个例外。
如何禁掉nginx恶意访问ip
可以通过系统的iptable禁用IP的访问,也可以用nginx自带的权限控制模块进行限制。
nginx限制的方法如下:
location / {
deny 192.168.1.1;
}
上述配置将禁用192.168.1.1访问站点的所有资源
【nginx禁止ip】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: