|  在技术加营销的道路上越走越远
温馨提示
我是弹窗内容
当前位置:首页 > 运维和安全 > nginx配置中文域名的注意事项
nginx配置中文域名的注意事项

nginx配置中文域名的注意事项

日期:2021-06-12 浏览量:483 原创作者:湖八爷
昨天接了一个新客户,为客户搭建一个简单的网页,并且由客户提供现成备案好的域名。 没想到客户刚提供了一个中文域名给我,域名为“蔡伦竹海.com”。

由于之前从未使用过中文域名,我认为应该和英文域名的配置一样。本次服务器使用的是Nginx,配置如下图,结果配置好以后,浏览器访问怎么也打不开网站。


Nginx配置中文域名.png


但是在360安全浏览器访问的时候,地址栏会自动变成一窜难记的英文字符,如下图:


一窜难记的英文字符.png


百度查了一下资料才发现,现在的浏览器都使用了一种叫做punycode码的算法对中文域名自动转码。


punycode码是一个根据RFC3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用于DNS系统的编码。 


例如我本次配置的域名“蔡伦竹海.com”使用punycode码转码后就变成了“xn--jpqy25enijd1j.com”,

所以在Nginx配置文件中也应该配置punycode编码域名。如下图:


Nginx配置中文域名2.png


更改Nginx配置文件后需要重启或重载Nginx才会生效。

lnmp Nginx重载或重启命令:/etc/init.d/nginx reload|restart


再次刷新,访问正常。


另附中文域名在线转码工具:http://tools.jb51.net/punycode/