Nginx禁止直接通过IP地址访问网站以及限制IP登陆某目录(关闭默认站点或空主机头)
2017-07-25 10:20
656 查看
这篇文章主要介绍了Nginx中禁止使用IP访问网站的配置实例,一般在备案时可能需要这种设置,需要的朋友可以参考下 国内因为备案的原因,所有服务器都要禁止使用IP访问网站。否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了。这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下。 如下的配置项,可以设置允许使用IP访问网站。 server { listen 80; server_name ""; } 这里相当于是绑定了一个空的主机头,于是任意主机头,只要是指向这个IP的都可以打开网站了。 也可以把这些流量收集起来,导进到本人的网站,只需做以下跳转设置就可以: server { listen 80 default; rewrite ^(.*) http://www.abc.com; } 如果需要Nginx禁止使用IP访问网站,可以定义如下主机,丢弃这些请求: server { listen 80default; server_name ""; return 444; } 或者 server { listen 80 default; server_name _; return 500; } 在这里,我们设置主机名为空字符串以匹配未定义“Host”头的请求,而且返回了一个nginx特有的,非http标准的返回码444,它可以用来关闭连接。 从0.8.48版本开始,这已成为主机名的默认设置,所以可以省略server_name "",即如下的配置即可: server { listen 80; return 444; } 限制某IP登陆网站 allow all; deny all; 其中网段的写法是这样的:192.168.1.0/24这样的形式。 deny 192.168.1.11; deny 192.168.1.123; deny 10.0.1.0/24; 如果你想实现这样的应用,除了几个IP外,其他全部拒绝, 那需要你在ip.balcklist中这样写 然后在在nginx的配置文件nginx.conf中加入:include blocksip.conf; 或者直接在相应虚拟主机server{中填写} allow 1.1.1.1; allow 1.1.1.2; allow 192.168.1.0/24; deny all; 如果你想实现这样的应用,禁止几个IP,其他通过, deny 1.1.1.1; deny 192.168.1.0/24; allow all; 单独网站屏闭IP的方法: 在server"{}",在这个大括号内加入deny IP地址是限制某IP地址访问;allow IP地址是只允许某IP地址访问; #屏蔽单个IP的命令是 deny 123.45.6.7 #封整个段即从123.0.0.1到123.255.255.254的命令 deny 123.0.0.0/8 #封IP段即从123.45.0.1到123.45.255.254的命令 deny 124.45.0.0/16 #封IP段即从123.45.6.1到123.45.6.254的命令是 deny 123.45.6.0/24
相关文章推荐
- Nginx禁止直接通过IP地址访问网站以及限制IP登陆某目录(关闭默认站点或空主机头)
- [转载]nginx简单防盗链及设置默认虚拟主机(禁止通过IP访问)
- 禁止通过ip直接访问网站来防止恶意解析-(apache,nginx,iis)
- Nginx禁止直接通过IP地址访问网站
- XAMPP配置Apache禁止通过IP直接访问网站
- 防止恶意解析——禁止通过IP直接访问网站
- nginx禁止直接通过IP地址访问
- Apache防恶意解析—禁止直接通过IP访问网站
- nginx中限制通过ip访问网站的方法
- XAMPP配置Apache禁止通过IP直接访问网站
- 防止恶意解析 - 禁止通过ip直接访问到网站
- 防止恶意解析 - 禁止通过ip直接访问到网站
- 在nginx中配置ip直接访问的默认站点
- 域名、ip、以及通过域名访问网站、虚拟主机
- 设置nginx禁止IP直接访问,只能通过指定的域名访问
- Nginx禁止IP直接访问http/https443网站
- nginx 禁止通过ip访问站点
- Nginx禁止IP直接访问http/https443网站
- 防止恶意解析 - 禁止通过ip直接访问到网站
- nginx上设置禁止通过ip访问服务器,只能通过域名访问