泛域名解析-实现每人一个永久域名

开始之前,首先来认识下什么是2级域名?

 

      一般我们注册一个域名,比如 www.javaeye.com (以下内容均以javaeye.com域名为例子,当然这只是example,该域名早已被注册了!),那么这个就是你的1级域名(顶级域名),是固定的并且只有1个,而像 robin.javaeye.com,stephen830.javaeye.com等等就是你这个1级域名下的2级域名了。因此,每个1级域名下面可以拥有无数个2级域名,只要你的名字符合国际域名名称定义规则。

      现在越来越多的网站提供2级域名的功能,就如JavaEye,只要您注册成为用户,您就可以当场得到一个属于自己的2级域名。可能,或许您觉得这其中很神秘,以为这个功能实现会比较复杂,其实不然,看完了本篇文章,相信您也可以轻而易举打造自己的动态2级域名效果了。

 

下面就让我们一步步来看看如何实现的吧!

 

第1步 您要准备一个1级域名(国际域名,国内域名都可以),并且您域名所在的dns服务器要支持域名泛解析功能,拿javaeye.com来说,泛解析就是a.javaeye.com/b.javaeye.com/c.javaeye.com/...,所有这些都指向javaeye.com设置的同一个ip地址,有了这个功能,域名才能够实现动态2级域名。一般域名服务商的dns服务器都有这个功能。

您只需要在域名的配置中增加一条*.开头的记录,就可以实现泛解析了。配置完后,你可以用ping命令测试下,假设你的域名是javaeye.com,你可以运行 ping a.javaeye.com,如果通的话就表示支持泛解析了。(当然,要注意有的主机服务器屏蔽ping回显!)

第2步 准备好你的WEB应用,这里使用了tomcat,可以在tomcat的server.xml配置文件中进行配置:

Xml代码

其中的appBase配置自己WEB应用的位置,name="localhost",表示根目录,所有访问本主机的将自动转到appBase配置的应用上。假设您的域名主机地址为 202.109.xx.xx,那么直接在浏览器中输入http://202.109.xx.xx 就会默认打开您在上面配置的那个web应用,这个在你的主机上有多个WEB应用的时候要小心。您在增加其他独立的WEB应用(假设还有个WEB应用是 www.xxx.com)时需要像下面这样的配置:
Xml代码



这个独立的www.xxx.com则必须使用域名来访问,不能使用网站ip地址来访问。



第3步 为了更好的展现动态2级域名效果,使用一个frame作为WEB应用的index.html,这个index.html将作为你的WEB应用的首页面。(备注:这个index.html不是必须的,只是为了让浏览器的地址栏显的更加好看而已)

index.html


第4步 实现动态的2级域名。

假设用户在网站(www.javaeye.com)上注册一个用户后,用户名比如为 test,那么只要在浏览器中输入 test.javaeye.com后,就会进行如下的处理。

输入 test.javaeye.com , 首先会解析 test.javaeye.com 这个2级域名的ip地址,这样就像输入 http://202.109.xx.xxx/ 一样的效果 (假设 javaeye.com的ip为202.109.xx.xxx);然后就会去访问这个域名对应WEB应用的首页面,也就是上面配置的index.html,然后会调用下面的index.jsp

这个jsp才是真正负责进行动态2级域名解析并处理的 index.jsp




这样,就可以轻轻松松地实现了动态2级域名功能了。


最后的说明:本文只是一篇实现动态2级域名的启蒙文章,希望能告诉所有的朋友,动态2级域名其实一点也不复杂,只是你目前可能没有找到方法,说穿了就大家都明白了。
如果要将动态2级域名商业化/产品化,还需要进一步改善,改善方法大家可以在网上找找资料。基本上每个WEB容器都有自己特定的一些配置来实现这个功能。

 

现在很多博客系统都支持 *.yourdomain.com的方式进行访问, 在google搜了把关于tomcat泛域名解析的配置,也没有找到合适的答案,不过最终还是把配置环境给整好。

系统的环境是 apache2.0+tomcat5.0.29

关于tomcat的域名配置,大家可以查看http://www.ntsky.com/tech/java/webserver/2007-07-17/7fc1864580a4c7cc.html

由于tomcat的host中无法配置*.yourdomain.com这种方式的域名,所以开始我就觉得无法实现泛域名,而apache是支持的,只要设置*.yourdomain.com就可以了。在server.xml中有个<Engine defaultHost="localhost" name="Catalina"> 当非法子域名指向到本站时候都提交到了webapps/ROOT去, 所以我就想如果那样的话我只要设置泛域名解析到默认的defaultHost就可以了。

具体的配置apache和tomcat泛域名解析的步骤 :


确认你的域名是否支持泛域名解析,现在大部分的域名提供商都支持这种服务。

配置你的apache泛域名解析


泛域名解析到ROOT

tomcat中不需要做其它设置,保持原来的就可以,对一些特殊二级域名只要在tomcat/confg/server.xml中配置 <Engine defaultHost="localhost" name="Catalina">
代码中需要解析 abc.yourdomain.com中的abc的信息

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值