栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > 服务器

Nginx 禁止IP访问如何实现

服务器 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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; 
  } 

也可以把这些流量收集起来,导入到自己的网站,只要做以下跳转设置就可以:

server { 
    listen 80 default; 
    rewrite ^(.*) http://www.mydomain.com permanent; 
  } 

按照如上设置后,确实不能通过IP访问服务器了,但是在应该用中出现当server_name后跟多个域名时,其中一个域名怎么都无法访问,设置如下:

server { 
    listen 80; 
    server_name www.abc.com abc.com 
  }

没更改之前,通过server_name 中的www.abc.com abc.com均可访问服务器,加入Nginx 禁止IP访问的设置后,通过abc.com无法访问服务器了,www.abc.com可以访问,用 Nginx -t 检测配置文件会提示warning:

 [warn]: conflicting server name “abc.com” on 0.0.0.0:80, 
   ignored 
  the configuration file /usr/local/webserver/Nginx/conf/
   Nginx.conf syntax is ok 
  configuration file /usr/local/webserver/Nginx/conf/Nginx.
   conf test is successful

最后通过在listen 80 default;后再加server_name _;解决,形式如下:

 #禁止IP访问 
  server { 
    listen 80 default; 
    server_name _; 
    server_name www.abc.com abc.com 
    return 500; 
  } 

这样,通过abc.com就能访问服务器了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/181781.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号