咿思舞论坛〖软件技术〗『系统评测』 → 域名泛解析


  共有353人关注过本帖树形打印

主题:域名泛解析

美女呀,离线,留言给我吧!
admin
  1楼 个性首页 | 博客 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:853 积分:1008523 威望:1000000 精华:12 注册:2003/12/30 16:34:32
域名泛解析  发帖心情 Post By:2010/1/1 20:17:22

所谓“泛域名解析”是指:利用通配符 * (星号)来做次级域名以实现所有的次级域名均指向同一IP地址。
例如本站的域名是145829.com:
做一个*.145829.com的次级域名A记录指向222.222.222.222,那么生效后当访问者无论是输入“bbs.145829.com”还是“bbs.145829.com”甚至可以是"bbs.145829.com"这样的 任意字符 均可以指向到222.222.222.222这个IP地址。
但是请注意:
经过实测
“.”   点
“-”   中横杆
“/”   左斜杆
这三个字符是无法应用在泛解析中的,问题出现在这三个字符不能存在于次级域名的第一个字符
例如:
-.145829.com或者 -5.145829.com
..145829.com或者 .5.145829.com或者.145829.com
/.145829.com145829.com或者 /5.145829.com
这样是无法解析出来的。

要想实现泛解析需要配置两个地方。

第一、DNS实现泛解析,现在万网是支持这个泛解析的。其他的大部分也是支持的。所以这个就不用担心了;

这里需要指出的是域名解析和本机的hosts文件配置不一样。通过在本机hosts文件里面添加 222.222.222.222    *.145829.com是无法起作用的。所以个人测试的时候不要使用此方法测试。不过可以采用以下方法,在hosts文件里面增加下面几个配置,通过枚举的形式来实现模拟泛解析

222.222.222.222    111.145829.com
222.222.222.222    222.145829.com
222.222.222.222    333.145829.com

第二、IIS配置泛解析。

其实大家都知道,现在的网站服务器大部分都是一个服务器里面发布很多网站的。所有的这些站点的发布都不是通过IP地址访问的,而是通过主机头。如果你想实现泛解析就不能使用主机头访问了。因为主机头不支持泛解析,也不允许添加*.145829.com。主机头不支持那我们应该怎么办呢?这里有一个解决办法,那就是采用IP访问的形式,建站点的时候不要添加主机头。可是这样有一个缺点。那就是如果你的服务器只有一个IP那么你的服务器最多只能发布一个泛解析的web站点,因为这里只能采用IP访问的形式。不过还好,一个泛解析是可以和N个其他的通过主机头访问的站点共存的。

看到了这里你也许已经想到了。那些通过购买别人空间的形式发布站点的网站是无法实现泛解析了。因为服务器供应商是绝对不会吧这一个服务器仅有一次的机会提供给你的。所以,你就不要奢望了。要想泛解析自己的网站那就购买虚拟主机(说虚拟服务器才确切,其实说白了就是服务器上面运行的虚拟机。)或者直接买一台自己的服务器吧。

 

 

很多企业都架设了多个Web站点来满足员工的工作需要,为了节省费用,这些网站通常采用虚拟主机技术,即在同一个服务器上架设多个网站,员工使用二级域名访问这些站点。然而,维护这些二级域名的工作量非常大,不过我们可以采用泛域名解析技术来解决这个难题,只要稍加设置Windows系统自带的DNS服务器就可以实现对泛域名的支持。

下面分别以Windows Server 2003、Windows 2000的DNS服务器为例,介绍如何改造它们以实现泛域名解析。我们假设DNS服务器上有一个域rtj.net,要使DNS服务器支持对这个域的泛域名解析。

Windows 2000实现泛域名解析

方法一

打开DNS控制台,在“145829.com”区域上单击鼠标右键,在弹出的菜单中选择“新建域”,接着在“新建DNS域”对话框中输入“*”创建一个名为“*”的二级区域,最后点击“确定”按钮。

这个区域是DNS服务器允许建立的,然后还需要在“*.rtj.net”区域中创建一个空主机名的记录。右键单击“*. rtj.net”区域,在弹出的菜单中选择“新建主机”,在“新建主机”对话框中,“名称”栏中不要输入任何内容,“IP地址”栏中输入泛域名解析指向的 IP地址,例如输入“192.168.0.1”,最后单击“添加主机”按钮即可,这样就可以实现对rtj.net域的泛域名解析。

方法二

我们还可以通过手工修改DNS数据文件来实现泛域名解析。直接修改系统目录下DNS文件夹中的DNS数据文件,进入“C\Winnt\System32 \dns”目录,找到rtj.net.dns文件,使用记事本打开,手工添加一条“*A 192.168.0.1”记录,其中“A”表示该记录为地址记录,“192.168.0.1”是指泛域名所指向的IP地址,完成后保存文件,重新启动 DNS服务器,加载这个DNS数据文件即可。

Windows Server 2003实现泛域名解析

Windows Server 2003系统的DNS服务器实现泛域名解析很简单,它允许使用“*”字符作为主机名称,只要在“rtj.net”区域中创建一个名称为“*”的主机记录即可,过程非常简单。右键单击“rtj.net”区域,在弹出的菜单中选择“新建主机”在“新建主机”对话框的“名称”栏中输入“*”,“IP地址”栏中输入“192.168.0.1”,最后单击“添加主机”按钮即可。

完成以上设置后,可在客户端使用Ping命令测试任意二级域名解析是否成功。例如,在命令提示符下输入“Ping abc.145829.com”命令,得到如图所示的响应信息,就表示泛域名解析成功

145829.com

<% Function googleColor(value, random) Dim colorArray colorArray = Split(value, ",") googleColor = colorArray(random Mod (UBound(colorArray) + 1)) End Function Function googleScreenRes() Dim screenRes, delimiter, resArray screenRes = Request.ServerVariables("HTTP_UA_PIXELS") delimiter = "x" If IsEmpty(screenRes) Then screenRes = Request.ServerVariables("HTTP_X_UP_DEVCAP_SCREENPIXELS") delimiter = "," End If If IsEmpty(screenRes) Then screenRes = Request.ServerVariables("HTTP_X_JPHONE_DISPLAY") delimiter = "*" End If resArray = Split(screenRes, delimiter, 2) If (UBound(resArray) + 1) = 2 Then googleScreenRes = "&u_w=" & resArray(0) & "&u_h=" & resArray(1) End If End Function Function googleMuid() Dim muid muid = Request.ServerVariables("HTTP_X_DCMGUID") If Not IsEmpty(muid) Then googleMuid = "&muid=" & muid End If muid = Request.ServerVariables("HTTP_X_UP_SUBNO") If Not IsEmpty(muid) Then googleMuid = "&muid=" & muid End If muid = Request.ServerVariables("HTTP_X_JPHONE_UID") If Not IsEmpty(muid) Then googleMuid = "&muid=" & muid End If muid = Request.ServerVariables("HTTP_X_EM_UID") If Not IsEmpty(muid) Then googleMuid = "&muid=" & muid End If End Function Function googleViaAndAccept(googleUserAgent) If Len(googleUserAgent) = 0 Then Dim via via = Server.URLEncode(Request.ServerVariables("HTTP_VIA")) If Not IsEmpty(via) Then googleViaAndAccept = "&via=" & via End If Dim accept accept = Server.URLEncode(Request.ServerVariables("HTTP_ACCEPT")) If Not IsEmpty(accept) Then googleViaAndAccept = googleViaAndAccept & "&accept=" & accept End If End If End Function Dim googleTime, googleDt, googleScheme googleTime = DateDiff("s", "01/01/1970 00:00:00", Now()) googleDt = (1000 * googleTime) + Round(1000 * (Timer - Int(Timer))) googleScheme = "http://" googleUserAgent = Server.URLEncode(Request.ServerVariables("HTTP_USER_AGENT")) If StrComp(Request.ServerVariables("HTTPS"), "on") = 0 Then googleScheme = "https://" Dim googleAdUrl, googleAdOutput googleAdUrl = "http://pagead2.googlesyndication.com/pagead/ads?" &_ "ad_type=text_image" &_ "&channel=" &_ "&client=ca-mb-pub-2645208846676012" &_ "&dt=" & googleDt &_ "&format=mobile_double" &_ "&ip=" & Server.URLEncode(Request.ServerVariables("REMOTE_ADDR")) &_ "&markup=xhtml" &_ "&oe=utf8" &_ "&output=xhtml" &_ "&ref=" & Server.URLEncode(Request.ServerVariables("HTTP_REFERER")) &_ "&url=" & Server.URLEncode(googleScheme & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("URL")) &_ "&useragent=" & googleUserAgent &_ googleScreenRes() &_ googleMuid() &_ googleViaAndAccept(googleUserAgent) Set googleAdOutput = Server.CreateObject("MSXML2.ServerXMLHTTP") googleAdOutput.Open "GET", googleAdUrl, false googleAdOutput.Send Response.Write(googleAdOutput.responseText) %> 支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

域名泛解析








签名