Nginx限制服务地址
今天要在Nginx上设置禁止通过IP访问服务器,只能通过域名访问,这样做是为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,从网络上搜到以下解决方案。
我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了。下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时 候生效最关键的一点是,在server的设置里面添加这一行:
listen 80 default;
后面的default参数表示这个是默认虚拟主机。 Nginx 禁止IP访问这个设置非常有用。
比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。就可以这样设置:
简单直接的修改方法:
修改nginx.conf 文件 修改成
server {
listen 80;
server_name www.jb51.net;  #这里是你自己指定的域名
...
}
再在上个server后继续添加一段:
就是为了访问默认网站直接返回403
server {
listen 80 default_server;
server_name _;
return 403;
}
这里是在接收到ip访问或非指定域名访问时会返回403错误
下面的一些比较详细的介绍:
server { 
  listen 80 default; 
  return 500; 
 }
也可以把这些流量收集起来,导入到自己的网站,只要做以下跳转设置就可以:
server { 
  listen 80 default; 
  rewrite ^(.*) http://www.jb51.net permanent; 
 }
按照如上设置后,确实不能通过IP访问服务器了,但是在应该用中出现当server_name后跟多个域名时,其中一个域名怎么都无法访问,设置如下:
server { 
  listen 80; 
  server_name www.jb51.net jb51.net 
 }
没更改之前,通过server_name 中的www.jb51.net jb51.net均可访问服务器,加入Nginx 禁止IP访问的设置后,通过jb51.net无法访问服务器了,www.jb51.net可以访问,用 Nginx -t 检测配置文件会提示warning:
[warn]: conflicting server name “jb51.net”
on 0.0.0.0:80, 
ignored 
the configuration file /usr/local/Nginx/conf/
Nginx.conf syntax is ok 
configuration file /usr/local/Nginx/conf/Nginx.
conf test is successful
最后通过在listen 80 default;后再加server_name _;解决,形式如下:
#禁止IP访问
server 
{ 
listen 80 default; 
server_name _; 
return 500; 
}
或者
server { 
listen 80 dufault; 
server_name _; 
rewrite ^(.*) http://www.jb51.net permanent; 
}
#禁止IP访问
 server { 
  listen 80 default; 
  server_name _; 
  server_name www.jb51.net jb51.net 
  return 500; 
 }
这样,通过jb51.net就能访问服务器了。
第一种情况:访问A站定向到B站
server { 
server_name www.jb51.net ; 
rewrite ^(.*) http://www.jbzj.com$1 permanent; 
}
第二种情况:不是访问A站的全部重定向到指定页面
server { 
server_name www.jb51.net; 
if ($host != 'jb51.net') { 
rewrite ^/(.*)$ http://www.jbzj.com/$1 permanent; 
} 
}
如果写在第一个server段
使用IP访问时也将被重定向
Nginx限制服务地址的更多相关文章
- 为苹果ATS和微信小程序搭建 Nginx + HTTPS 服务
		
昨天测试开发微信小程序,才发现微信也要求用HTTPS加密数据,想来是由于之前苹果的ATS审核政策的缘故吧,微信想在苹果上开放小程序必然也只能要求开发者必须使用HTTPS了,于是在服务器上测试安装Ngi ...
 - 使用 whistle 替代本地 nginx/webpack 服务
		
加入鹅厂之后,我发现团队都在用一款叫做 Whistle 的工具,起初我以为这只是一款类似 Fiddler/Charles 的普通货色.然鹅,发现下面这两种用法之后,我把自己的膝盖摘下来献给了制作这款工 ...
 - 八.nginx网站服务实践应用
		
期中集群架构-第八章-期中架构nginx章节====================================================================== 01. web ...
 - Nginx缓存服务
		
Nginx缓存服务 1.缓存常见类型 2.缓存配置语法 3.缓存配置实践 4.缓存清理实践 5.部分页面不缓存 6.缓存日志记录统计 通常情况下缓存是用来减少后端压力, 将压力尽可能的往前推, 减少后 ...
 - 2-4、nginx特性及基础概念-nginx web服务配置详解
		
Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...
 - nginx web服务优化
		
nginx基本安全优化 1. 调整参数隐藏nginx软件版本号信息 软件的漏洞和版本有关,我们应尽量隐藏或消除web服务对访问用户显示各类敏感信息(例如web软件名称及版本号等信息),这样恶意的用户就 ...
 - Linux实战教学笔记38:企业级Nginx Web服务优化实战(下)
		
四,Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog,sns产品,这几个产品都有一个共同特点,就 ...
 - Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)
		
一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...
 - (转)Nginx静态服务配置---详解root和alias指令
		
Nginx静态服务配置---详解root和alias指令 原文:https://www.jianshu.com/p/4be0d5882ec5 静态文件 Nginx以其高性能著称,常用与做前端反向代理服 ...
 
随机推荐
- Appium Remote webdriver调用
			
remote webdriver的模板 默认开启4723端口接受webdriver请求 默认开启4724用于和android通讯 #coding:utf-8 #Import the common pa ...
 - vue--踩坑
			
1.通过computed计算属性,计算过的值,假如传递给子组件,在子组件中修改是不起作用的.
 - 图像和流媒体 -- Sapera 安装遇到的问题
			
一.下载安装包 参看:Genie Nano M1930-NIR 点击软件及例程下载 二.安装遇到的问题 (1)Installation directory must be on a local har ...
 - vim 强大复制链接
			
参考文献: http://blog.csdn.net/xiyuan1999/article/details/5680102 vi编辑器中的整行(多行)复制与粘贴就非常必要了. 1.复制 1)单行复制 ...
 - Uncaught TypeError: Cannot read property 'ownerDocument' of null
			
/********************************************************************* * Uncaught TypeError: Cannot ...
 - Mac终端建立替身 并置于桌面或Finder中
			
前情 Xcode存放log的文件夹路径忒长了,且需要用终端才能查看.所以就想制作个替身,放在Finder中便于查看. going on command+space打开terminal 一直cd...进 ...
 - 为Linux服务器的SSH登录启用Google两步验证
			
对于Linux服务器而言使用密钥登录要比使用密码登录安全的多,毕竟当前网上存在多个脚本到处进行爆破. 这类脚本都是通过扫描IP端的开放端口并使用常见的密码进行登录尝试,因此修改端口号也是非常有必要的. ...
 - BZOJ - 3744 Gty的妹子序列 (区间逆序对数,分块)
			
题目链接 静态区间逆序对数查询,这道题用线段树貌似不好做,可以把区间分成$\sqrt n$块,预处理出两个数组:$sum[i][j]$和$inv[i][j]$,$sum[i][j]$表示前i个块中小于 ...
 - BZOJ1486 HNOI2009 最小圈 【01分数规划】
			
BZOJ1486 HNOI2009 最小圈 Description 应该算是01分数规划的裸板题了吧..但是第一次写还是遇到了一些困难,vis数组不清零之类的 假设一个答案成立,那么一定可以找到一个环 ...
 - Redis中关于Hash键的一些问题
			
Hash键存在的意义: 1.Hash键可以将信息凝聚在一起,而不是直接分散的存储在整个Redis中,这不仅方便了数据管理,还可以尽量避免一定的误操作: 2.避免键名冲突: 3.减少内存占用.(最重要的 ...