陈德馨

关于如何绑定和解析中文域名的方法

1490人参与 |分类: 运维时间|时间:2016年10月27日 14:30

今天遇到一个很有趣的事情,有个开电脑店的朋友联系我,说是想搞一个个人博客玩玩,结果在一切准备就绪之后,发现域名解析不了。我问清楚情况之后,原来朋友注册的是一个中文域名。中文域名对于许多朋友来讲都不使用了,一个是因为中文域名浏览器支持不好,另一个是中文域名很多技术不知道如何配置了。其实,出现解析不了的原因是出现在中文域名的编码上面,今天陈德馨就借此来说说中文域名如何解析的方法。

中文域名解析不了或者解析后自动转码的原因?

就目前情况来看,所有操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode码,然后由DNS解析punycode码。

简单点来说,就是早期的DNS(Domain Name System)是只支持英文域名解析。在IDNs(国际化域名Internationalized Domain Names)推出以后,为了保证兼容以前的DNS,所以,对IDNs进行punycode转码处理。

中文域名转码是什么意思?

中文域名转码就是将中文字符串转成punycode标准编码的字符串。

Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。 "中文域名"后缀不被标准的解析服务器支持,需转化为punycode码进行解析。

中文域名在解析的时候,须经转换为 xn-xxxxxxxx.com/.cn 形式的ASCII码,后者称为punycode。转码后的punycode就由26个字母+10个数字,还有“-”组成。

举个例子:

我们输入:陈德馨.网络。开始配置直接写的中文域名,但是解析不到正确的server,当在浏览器中敲入 www.陈德馨.网络  时,浏览器会转为 www.xn--p5tp82jdec.xn--io0a7i

其实上面的中文域名(陈德馨.网络)就是一个经过编码的英文域名(中文域名-->punycode编码-->英文域名)

如何正确配置中文域名的解析呢?

我们已经知道中文域名必须经过Punycode编码解码,我们就可以采取方法,毕竟有些面板是不支持中文域名的解析的,另外很多浏览器也不支持中文域名的自动转码,从而导致无法正确解析。另外就我个人的经验,在解析的时候填写编码后的域名可以提高网页的打开速度。

1、使用在线的中文域名编码转换工具转换中文域名,这里推荐几个:

01、http://tools.jb51.net/punycode/

02、http://www.cnkuai.cn/zhuanma.asp

03、http://www.webmasterhome.cn/tool/punycode.asp

转码过程很简单,输入你需要转码的域名,点击转码就可以看到转码后的编码。如下:

47301.jpg

2、把你转码后的域名填入进行解析就可以了。

Nginx中文域名的配置

01、修改Nginx配置:

server {

listen 80;

server_name www.xn--p5tp82jdec.xn--io0a7i;

...

}

02、保存,重载nginx:

service nginx reload

备注:例子中的红色部分是根据你的实际情况来填写替换的。

扩展阅读:

以上方法同样适用于 中文域名.com、中文域名.cn、中文域名.net、中文域名.公司、中文域名.中国 等中文域名的解析编码。

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 1 人评论,请发表您的观点。

  
    
1楼龙行体讯   2016-10-27 19:03:47
站长辛苦了,谢谢分享,欢迎回访:龙行体讯http://1347789.com
回复