现在使用Nginx的服务器越来越多,但是Nginx 默认是不支持中文域名的。原因就是Nginx无法识别中文域名的Punycode,如果需要Nginx能够支持中文域名,那么就需要进行一次转码,把中文转成 Nginx 能识别的Punycode。
有些人可能会问Punycode是什么?Punycode是一个根据RFC 3492标准而制定的编码系统,主要用于把各种类型的域名从地方语言所采用的Unicode编码转换成为可用于DNS系统的编码。Punycode有一个非常打的优点就是可以防止IDN欺骗。众所周知,早期的DNS(Domain Name System)只支持英文域名解析。在IDNs(国际化域名Internationalized Domain Names)推出以后,为了保证兼容以前的DNS,所以,对IDNs进行punycode转码,转码后的punycode就由26个字母+10个数字,还有“-”组成。
所以,要Nginx能够支持中文域名,那么就需要进行一次转码,网上有很多Punycode的转码在线工具,我们以https://myssl.com/punycode.html为例:
在对你的中文域名进行编码后,就得到了你需要的域名Punycode,然后编辑Nginx 的配置文件,在 server_name 中加入你的中文域名的Punycode编码即可。
server { listen 80; server_name www.xqgs.net xqgs.xn--fiqs8s; . . .
版权作品,未经《心情故事》博主书面授权,严禁转载,违者将被追究法律责任。
(声明为转载的作品例外)