NGINX下配置中文域名

手持COM域名

域名是网站服务器在互联网空间的地址名称,是进行网络访问的重要基础,有人把它形象的称为网站的门牌号。通常域名是由英文字母、数字和英文符号组成。而中文域名,顾名思义,就是域名中含有中文字符。如果在NGINX的配置文件中仍然像英文域名那样直接在server_name部分填上中文域名,你会发现不能解析到正确的服务器。那么在NGINX下要怎么配置中文域名呢?

其实,直接设置成中文域名会失败是编码格式的问题,中文域名不被标准的解析服务器支持。含中文字符的域名需要先编码成PunyCode,点击PunyCode编码在线生成可以完成编码的转换。用PunyCode编码的内容完成配置就可以使用了。例如:卓优互联.com被转换成了xn--blqpmi2i0s3d.com,用xn--blqpmi2i0s3d.com作为server_name就可以完成中文域名的配置,配置后重启NGINX服务器就可以通过中文域名正常访问了。

当然,小卓也也到过配置了,重启NGINX服务器报错的情况,后经研究发现并非网站的站点配置有问题,而是因为NGINX的域名hash表大小配置默认为32,当使用中文域名时,由于域名长度在编码后变得很长,容易在此时出现域名hash表大小不够的问题。这时,只要在/etc/nginx/nginx.conf中当增加参数server_names_hash_bucket_size的值就可以了。

如:

  1. server_names_hash_bucket_size 64

最后,任何配置参数修改后,记得重启NGINX服务器,使配置生效。

>>原创文章,欢迎转载。转载请注明:转载自惠州市卓优互联科技有限公司,谢谢!
>>原文链接地址:NGINX下配置中文域名


关于作者

留下您的回复