Nginx防止直接用IP访问Web服务器的设置方法

官方文档中提供的方法:

If you do not want to process requests with undefined "Host" header lines, you may define a default server that just drops the requests:


代码如下:

server {
listen 80 default_server;
server_name _;
return 444;
}

说白了就是只要是访客用ip访问就直接重置444错误。但是这样好像又不太友好,如果能直接给跳转到该web server的网址就好了。配置如下:


代码如下:

server {
listen 80 default_server;
server_name _;
rewrite ^ http://www.domain.com$request_uri?;
}

这样还是有一点问题,某些特别的地址,我需要用ip访问,其他的都禁止,如何配置呢?比如说我想让监控宝直接用ip访问我的机器的nginx状态信息,其他的用ip访问的所有请求都跳转到域名上。


代码如下:

server {
listen 80 default_server;
server_name _;
location /xxxxx{
stub_status on;
access_log off;
}
location /{
rewrite ^ http://www.domain.com$request_uri?;
}
}

这样就实现了我们想要的功能了。

(0)

相关推荐

  • Nginx服务器限制IP访问的各种情况全解析

    限制某个IP同一时间段的访问次数 如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候.其中CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包, 造成对方服务器资源耗尽,一直到宕机崩溃. cc攻击一般就是使用有限的ip数对服务器频繁发送数据来达到攻击的目的,nginx可以通过HttpLimitReqModul和HttpLimitZo

  • Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)

    脚本如下: 复制代码 代码如下: #!/bin/sh nginx_home = /Data/app_1/nginx log_path = /Data/logs /usr/bin/tail -n50000 $log_path/access.log \ |awk '$8 ~/aspx/{print $2,$13}' \ |grep -i -v -E "google|yahoo|baidu|msnbot|FeedSky|sogou" \ |awk '{print $1}'|sort|uniq

  • 禁止IP访问网站的多种方法分享(linux,php,nginx,apache)

    PHP禁止某个IP或IP段访问 废话不多说,客官请看: <? //禁止某个IP $banned_ip = array ( "127.0.0.1", //"119.6.20.66", "192.168.1.4" ); if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) ) { die ("您的IP禁止访问!"); } //禁止某个IP段 $ban_ran

  • Nginx中禁止使用IP访问网站的配置实例

    国内因为备案的原因,所有服务器都要禁止使用IP访问网站.否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了.这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下. 国内因为备案的原因,所有服务器都要禁止使用IP访问网站.否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了.这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下. 如下的配置项,可以设置允许使用I

  • nginx禁止某个IP访问站点的设置方法

    首先建立下面的配置文件放在nginx的conf目录下面,命名为blocksip.conf: deny 95.105.25.181; 保存一下. 在nginx的配置文件nginx.conf中加入:include blocksip.conf; 重启一下nginx的服务:/usr/local/nginx/sbin/nginx -s reload 就可以生效了. blocksip.conf:的格式还有许多种,可以配置只允许的IP访问或者IP段访问: deny IP; allow IP; # block

  • Nginx限制某个IP同一时间段的访问次数和请求数示例代码

    nginx可以通过ngx_http_limit_conn_module和ngx_http_limit_req_module配置来限制ip在同一时间段的访问次数. ngx_http_limit_conn_module:该模块用于限制每个定义的密钥的连接数,特别是单个IP​​地址的连接数.使用limit_conn_zone和limit_conn指令. ngx_http_limit_req_module:用于限制每一个定义的密钥的请求的处理速率,特别是从一个单一的IP地址的请求的处理速率.使用"泄漏桶

  • Nginx 禁止IP访问 只允许域名访问

    我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了.下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时 候生效最关键的一点是,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回50

  • Nginx防止直接用IP访问Web服务器的设置方法

    官方文档中提供的方法: If you do not want to process requests with undefined "Host" header lines, you may define a default server that just drops the requests: 复制代码 代码如下: server { listen 80 default_server; server_name _; return 444; } 说白了就是只要是访客用ip访问就直接重置4

  • windows下指定IP地址远程访问服务器的设置方法

    我们有很多服务器经常受到外界网络的干扰,入侵者们通过扫描3389端口爆破密码非法进入我们的服务器,这时,我们可以配置服务器IP 安全策略来限制一些IP访问,大大提高了服务器的安全. 实验环境: 服务端:server 2008R2 IP(192.168.0.103) 客户端:win 7 IP(192.168.0.105) 具体配置如下操作: 1.首先打开ip安全策略:控制面板–管理工具–本地安全策略–IP安全策略,在本地计算机上.在右侧空白处右击,选择创建IP安全策略 点击下一步,完成. 然后点击

  • 通过Nginx反向代理实现IP访问分流的示例代码

    本文介绍了通过Nginx反向代理实现IP访问分流的示例代码,分享给大家.具体如下: 通过Nginx做反向代理来实现分流,以减轻服务器的负载和压力是比较常见的一种服务器部署架构.本文将分享一个如何根据来路IP来进行分流的方法. 根据特定IP来实现分流 将IP地址的最后一段最后一位为0或2或6的转发至test-01.com来执行,否则转发至test-02.com来执行. upstream test-01.com { server 192.168.1.100:8080; } upstream test

  • Nginx使用limit_req_zone对同一IP访问进行限流的方法

    nginx可以使用ngx_http_limit_req_module模块的limit_req_zone指令进行限流访问,防止用户恶意攻击刷爆服务器.ngx_http_limit_req_module模块是nginx默认安装的,所以直接配置即可. 首先,在nginx.conf文件中的http模块下配置 limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; 说明:区域名称为one(自定义),占用空间大小为10m,平均处理的请求频率不能超

  • PHP实现限制IP访问及提交次数的方法详解

    本文实例讲述了PHP实现限制IP访问及提交次数的方法.分享给大家供大家参考,具体如下: 一.原理 提交次数是肯定要往数据库里写次数这个数据的,比如用户登陆,当用户出错时就忘数据库写入出错次数1,并且出错时间,再出错写2,当满比如5次时提示不允许再登陆,请明天再试,然后用DateDiff计算出错时和now()的时间,如果大于24就再开放让他试. 封IP的话特别是给IP断就比较简单了, 先说给IP段开放的情况:先取出客户访问的IP,为了解释方便,设有IP192.168.6.2 现要开放IP段为192

  • Nginx+PHP(FastCGI)搭建高并发WEB服务器(自动安装脚本)第二版

    本文是依照张宴的 Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器(第5版) 编写 原文地址 http://blog.s135.com/nginx_php_v5/ 因为编译过程和等待时间繁琐,于是就自己写了个全自动安装的shell脚本,此脚本可以随意修改,转载请注明出处. 这篇文章为这个系列的第二版,在第一版的基础上加入 1.日志切割 2.智能选择yum或者rpm安装 下载地址 注意:如果不能使用yum源,请放入系统光盘,单张dvd的,如果

  • Win2008 R2 WEB 服务器安全设置指南之修改3389端口与更新补丁

    3389端口是指windows系统中的远程桌面端口,可以使用它本管理远程计算机,就像操作本地的电脑一样,但是也容易被一些黑客利用,所以对于这个端口我必须要修改,且必须在安装完系统后就马上修改它. 随着云主机的普及和微软的大力更新,用windows server 2008 R2作为web服务器的人越来越多,而其强大的性能和可操作性得到了好评.连卖win2008的虚拟主机商也多起来了,所以今天我来讲讲我是怎么设置Win2008服务器安全的,拙见希望能帮到大家.一起远离肉鸡吧... 千里之行始于足下,

  • win2008 R2 WEB 服务器安全设置指南之组策略与用户设置

    通过优化设置组策略.对系统默认的管理员.用户进行重命名.创建陷阱帐户等措施来提高系统安全性. 接上篇,我们已经改好了远程连接端口,已经能拒绝一部份攻击了,但是这些设置还远远不够.在做以下安全时,必须确保你的服务器软件已经全部配置完毕,并且能正常使用,不然如果在安全设置后再安装软件的话,有可能会安装失败或发生其它错误,导致环境配置失败. 密码策略 系统密码的强弱直接关系到系统的安全,如果你的密码太简单,万一你的远程连接端口被扫到,那破解你的密码就是分分钟钟后了.所以,我们的系统密码必须要设置一个符

  • Win2008 R2 WEB 服务器安全设置指南之禁用不必要的服务和关闭端口

    安全是重中之重,以最少的服务换取最大的安全.通过只启用需要用到的服务.关闭暂时用不到的服务或不用的服务,这样最大程度来提高安全性. 作为web服务器,并不是所有默认服务都需要的,所以像打印.共享服务都可以禁用.当然了,你的系统补丁也需要更新到最新,一些端口的漏洞已经随着补丁的更新而被修复了.网上的一些文章都是相互复制且是基于win2003系统较多,而win2008相比win2003本身就要安全很多. 那我们为什么还要谈关闭端口呢,因为我们要防患于未然,万一服务器被黑就不好玩了. 禁用不必要的服务

随机推荐