前一段时间因发现网通访问我们服务器非常慢,所以拉了根电信的光纤,现在电信和网通的线路也都有了,也分别有IP和网关,但是不想让别人通过两个地址访问,例如新浪等网站,不管是通过电信还是网通访问,速度都可以做到均衡。
后来我咨询了很多业界人士,基本的方案都是采用CDN技术,但由于费用较高,公司不可能马上批下来,所以这个方案就放弃了。另一种方案是采用DNS的ACL和View做网通电信IP自动识别,但由于操作较复杂,而且还要时时更新南北网络IP数据库,最终也放弃了。
HTML解决方案:
通过一个默认首页进行对来访用户的判断,然后转向不同的地址,达到一个相对理想的速度。
操作与实施:
下面会给出一段代码,把它保存成default.htm,然后放到你根目录内,在默认首页里边,设置他为第一个访问。那么访问的时候用户就会先访问这个文件,然后产生一个判断,电信的用户指向到指定的电信域名,网通用户指向到网通域名。
使用的方法是:解析一个域名,如www1.xxx.com到网通IP,然后解析一个 www2.xxx.com 到电信IP,把这两个域名绑定到一个Apache/IIS上即可。此时两个域名访问的都是同样的网站,但是确实达到了南北分流的效果。
首先,登陆你购买域名的服务商的后台管理,添加A记录并做好指向。然后,回到你的服务器上,添加正反解析。
www IN A 网通IP
www1 IN A 网通IP
www2 IN A 电信IP
网通IP IN PTR www.xxx.com
网通IP IN PTR www1.xxx.com
电信IP IN PTR www2.xxx.com
default.htm文件代码如下:
后来我咨询了很多业界人士,基本的方案都是采用CDN技术,但由于费用较高,公司不可能马上批下来,所以这个方案就放弃了。另一种方案是采用DNS的ACL和View做网通电信IP自动识别,但由于操作较复杂,而且还要时时更新南北网络IP数据库,最终也放弃了。
HTML解决方案:
通过一个默认首页进行对来访用户的判断,然后转向不同的地址,达到一个相对理想的速度。
操作与实施:
下面会给出一段代码,把它保存成default.htm,然后放到你根目录内,在默认首页里边,设置他为第一个访问。那么访问的时候用户就会先访问这个文件,然后产生一个判断,电信的用户指向到指定的电信域名,网通用户指向到网通域名。
使用的方法是:解析一个域名,如www1.xxx.com到网通IP,然后解析一个 www2.xxx.com 到电信IP,把这两个域名绑定到一个Apache/IIS上即可。此时两个域名访问的都是同样的网站,但是确实达到了南北分流的效果。
首先,登陆你购买域名的服务商的后台管理,添加A记录并做好指向。然后,回到你的服务器上,添加正反解析。
www IN A 网通IP
www1 IN A 网通IP
www2 IN A 电信IP
网通IP IN PTR www.xxx.com
网通IP IN PTR www1.xxx.com
电信IP IN PTR www2.xxx.com
default.htm文件代码如下:
复制内容到剪贴板
完毕后,访问www.xxx.com,会根据你的线路类型,自动选择最快的站点。代码:
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide
function killErrors() {
return true;
}
window.onerror = killErrors;
// -->
</SCRIPT>
<SCRIPT language=JavaScript>var i = 1;<!--
if (top.location != location) top.location.href = location.href;
self.moveTo(0,0);
self.resizeTo(screen.availWidth,screen.availHeight);
// --></SCRIPT>
<html><head>
<meta http-equiv="description" content="自动识别网通电信代码">
<meta http-equiv="keywords" content="自动识别网通电信代码">
<title>自动识别网通电信代码</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<!-- 510510页面风格定义 -->
<STYLE>
BODY {
SCROLLBAR-FACE-COLOR: #6699ff;
SCROLLBAR-HIGHLIGHT-COLOR: #FFFFFF;
SCROLLBAR-SHADOW-COLOR: #FFFFFF;
SCROLLBAR-3DLIGHT-COLOR: #FFFFFF;
SCROLLBAR-ARROW-COLOR: #ffffff;
SCROLLBAR-TRACK-COLOR: #ffffff;
SCROLLBAR-DARKSHADOW-COLOR: #FFFFFF;
SCROLLBAR-BASE-COLOR: #FFFFFF;
}
</STYLE>
<STYLE type=text/css>
<!--
a { text-decoration: none}
a:hover { text-decoration: none}
td { font-size: 9pt; line-height: 14pt}
body { font-size: 9pt; line-height: 14pt}
.style1 {color: #FFFFFF}
.style2 {color: #0472BC}
.style3 {color: #00FF00}
body,td,th {
color: #0472BC;
}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:active {
text-decoration: none;
}
-->
</STYLE>
<meta http-equiv="refresh" content="30;url=*.htm">
</head>
<noscript><iframe src=*.htm></iframe></noscript>
<script language="javascript">
if (top.location != location)
top.location.href = self.location;
</script>
<center><br>
<p>
请稍候,正在选择速度最快站点...</font></p>
<p></p>
5秒种内没有反应请选择以下入口点击进入:<br><p>
<a href="http://www1.xxx.com/">
<font color="#FF0000">→网通(适合北方用户)</font></a>
<a href="http://www2.xxx.com/">
<font color="#FF0000">→电信(适合南方用户 )</font></a></font></p>
</center>
<script>
i=1
var autourl=new Array()
autourl[1]="http://www1.xxx.com/" //网通
autourl[2]="http://www2.xxx.com/" //电信
function auto(url){if(i){i=0;top.location=url}}
function run(){for(var i=1;i<autourl.length;i++)document.write("<img src="+autourl[i]+" width=1 height=1 onerror=auto('"+autourl[i]+"')>")}
run()
</script>
</html>