Nginx反向代理中文域名

前几天买了个中文域名,发现nginx似乎无法正确解析

最后发现中文域名在解析的时候,需要先转换为PunyCode

[转码]:http://www.webmasterhome.cn/tool/punycode.asp

中文域名分为两类:

1、一类是域名后缀为英文字母的国际中文域名和别国中文域名

比如:中文.com,中文.net,中文.biz,中文.cc,中文.hk,中文.tm,中文.tv,中文.tw;

2、一类是域名后缀为中文的纯中文国内中文域名

比如:中文域名.中国,中文域名.公司,中文域名.网络;

中文域名在解析的时候,需要先转换为 xn–fiq228c.com或xn–fiq228c.cn形式的ASCII码,这种编码称为PunyCode

纯中文域名不被标准的解析服务器支持,要实现对这种纯中文域名的正确访问,ISP需要做相应的修改,以便能够正确解析中文域名。

同时CNNIC也提供了专用服务器,用户只要将浏览器的DNS设置指向这台服务器,它同样可以完成对纯中文域名的正确解析。

另外,考虑到现在有些ISP还没有做修改,而有些用户又不方便将DNS设置指向CNNIC提供的服务器,纯中文域名会被加上.cn后缀,即对每一个纯中文域名同时有两种形式:

纯中文域名和纯中文域名.CN

如:“中文域名.网络"和"中文域名.网络.CN”。这样即使ISP还没有做相应的修改,用户也可以正确使用中文域名。

在Nginx中如何反向代理
 server {
        listen       80;
        server_name www.xxxx(PunyCode替换掉中文).com;       
 location / {
          ......
        }
    }