cdn怎么禁止指定IP访问网站

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cdn怎么禁止指定IP访问网站相关的知识,希望对你有一定的参考价值。

一、如何禁止访问,先了解下常见的3种网站访问模式:

①、用户直接访问对外服务的普通网站

浏览器 --> DNS解析 --> WEB数据处理 --> 数据吐到浏览器渲染展示

②、用户访问使用了CDN的网站

浏览器 --> DNS解析 --> CDN节点 --> WEB数据处理 --> 数据吐到浏览器渲染展示

③、用户通过代理上网访问了我们的网站

浏览器 --> 代理上网 --> DNS解析 --> 上述2种模式均可能

二、对于第一种模式,要禁止这个用户的访问很简单,可以直接通过 iptables 或者 nginx的deny指令来禁止均可:

iptabels:

iptables -I INPUT -s 用户ip -j DROP

Nginx的deny指令:

语    法:     deny address | CIDR | unix: | all;

默认值:     —

配置段:     http, server, location, limit_except

顺   序:从上往下

Demo:

location /

deny 用户IP或IP段;

但对于后面2种模式就无能为力了,因为iptables 和 deny 都只能针对直连IP,而后面2种模式中,WEB服务器直连IP是CDN节点或者代理服务器,此时使用 iptable 或 deny 就只能把 CDN节点 或代理IP给封了,可能误杀一大片正常用户了,而真正的罪魁祸首轻轻松松换一个代理IP又能继续请求了。

三、拿到用户真实IP,只要在Nginx的http模块内加入如下配置:


那么,$clientRealIP 就是用户真实IP了,其实就是匹配了 $http_x_forwarded_for 的第一个值。

【1】其实,当一个 CDN 或者透明代理服务器把用户的请求转到后面服务器的时候,这个 CDN 服务器会在 Http 的头中加入一个记录X-Forwarded-For :  用户IP, 代理服务器IP如果中间经历了不止一个代理服务器,这个记录会是这样X-Forwarded-For :  用户IP, 代理服务器1-IP, 代理服务器2-IP, 代理服务器3-IP, ….可以看到经过好多层代理之后, 用户的真实IP 在第一个位置, 后面会跟一串中间代理服务器的IP地址,从这里取到用户真实的IP地址,针对这个 IP 地址做限制就可以了。

【2】而且代码中还配合使用了 $remote_addr,因此$clientRealIP 还能兼容上文中第①种直接访问模式,不像 $http_x_forwarded_for 在直接访问模式中将会是空值!所以,$clientRealIP 还能配置到 Nginx 日志格式中,替代传统的 $remote_addr 使用。

参考技术A 网站的访问速度奇慢,除了是使用的服务器配置或虚拟主机分配的资源过低之外,最大的一个因素就在于机房的线路接入问题。正如,笔者的个人使用的是电信宽带,当需要访问使用网通线路的网站,显然访问速度会有所下降。要解决这个问题,多数站长会选用双线来作为解决方案,但我认为这个对于一般的中小型网站,并非是一个比较符合经济效益的明智选择。

使用免费的CDN技术解决

在较早前,笔者也是因为线路问题而苦恼,在国内某些地区的用户访问我博客的时候,偶尔会很慢甚至是打不开,还严重影响了我站的用户体验。我选择了使用免费的CDN技术来解决这个问题后,网站速度已经有了大幅的提升。

网站加速前

网站加速后

什么是CDN加速技术

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

使用CDN的好处

1、用户体验:访问速度快了,每打开一个页面都在一秒钟之内,用户自然也就爽了。如果是下载站、图片站,使用CDN后的效果是非常明显的。

2、SEO优化:一般的CDN提供商,在不同的地区都分布有服务器节点,提高了访问速度也就更加有利于搜索引擎的爬虫收集信息。

3、隐藏真实IP:网站总是被人攻击,肯定是苦恼不堪。使用了CDN技术之后,网站的安全性也会大幅提高。

免费的CDN服务商

国内:奇虎360网站卫士(wangzhan.360.cn),国内大公司的产品,域名需要备案才能使用CDN技术。

国外:CloudFlare(cn.cloudflare.com),速度还算可以。如果使用的是国外主机,但网站IP已经被国内屏蔽了,可以选择此服务商来解决问题。
参考技术B 1:下载==兔子.cdn==
2:多IP地区
3:全国500个大中小城市选择
4:不同IP刷点击
参考技术C 现在其实市面上有很多换IP软件,还是得根据你的实际需求来选择,
看你是需要稳定高效还是大量IP,综合来看的话,
搜索兔子。IP软件,下载安装。
选择IP点连接就可以了。

以上是关于cdn怎么禁止指定IP访问网站的主要内容,如果未能解决你的问题,请参考以下文章

如何在静态网页中实现禁止某IP访问,交流~

panabit怎么设置只允许访问指定的https网站?

百度出现,该URL非法指向百度IP,禁止访问!这是怎么回事

百度出现,该URL非法指向百度IP,禁止访问!这是怎么回事?

手机怎样禁止访问某个网站?

网页被禁止访问,如何解除