由于之前从未使用过中文域名,我认为应该和英文域名的配置一样。本次服务器使用的是Nginx,配置如下图,结果配置好以后,浏览器访问怎么也打不开网站。
但是在360安全浏览器访问的时候,地址栏会自动变成一窜难记的英文字符,如下图:
百度查了一下资料才发现,现在的浏览器都使用了一种叫做punycode码的算法对中文域名自动转码。
punycode码是一个根据RFC3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用于DNS系统的编码。
例如我本次配置的域名“蔡伦竹海.com”使用punycode码转码后就变成了“xn--jpqy25enijd1j.com”,
所以在Nginx配置文件中也应该配置punycode编码域名。如下图:
更改Nginx配置文件后需要重启或重载Nginx才会生效。
lnmp Nginx重载或重启命令:/etc/init.d/nginx reload|restart
再次刷新,访问正常。
另附中文域名在线转码工具:http://tools.jb51.net/punycode/