Nginx通过Punycode转码支持中文域名

暗夜老妖 网站建设 4,977 次浏览 , , , 没有评论

现在使用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为例:

Nginx通过Punycode转码支持中文域名

在对你的中文域名进行编码后,就得到了你需要的域名Punycode,然后编辑Nginx 的配置文件,在 server_name 中加入你的中文域名的Punycode编码即可。

server {
listen 80;
server_name www.xqgs.net xqgs.xn--fiqs8s;
.
.
.

版权作品,未经《心情故事》博主书面授权,严禁转载,违者将被追究法律责任。
(声明为转载的作品例外)

发表评论

Go