解析中文域名并配置 Nginx 服务器

部署中文域名站点,下面讲诉设置中文域名站点——“郝越.我爱你”。

设置域名解析

第一步是在设置域名 A 记录,使主机记录中的 @ 和 www 都指向一个 ip。

域名解析

上图为万网域名解析后台解析设置

设置 Nginx server_name

第二步是修改 nginx/conf/nginx.conf 或者其他 vhost 文件,在 server_name 这一行调整为经过 idn_to_ascii 函数编码的中文域名,而不是原始的中文域名。

server {
		listen       80;
		server_name  xn--vq3al9d.xn--6qq986b3xl;
		index index.php;
		root /alidata/www/love;
}

“郝越.我爱你”经过编码之后是“xn--vq3al9d.xn--6qq986b3xl”。

在百度搜索“中文域名编码”,进入在线编码的网站,提交中文域名,即可将中文域名转为 punycode 或者是 GBK 编码。在 nginx 配置文件中使用 punycode 即可。

设置完成之后 reload nginx,即可访问中文域名。

访问中文域名

在浏览器地址栏看到的虽然是中文域名,但实际的链接是 http://xn--vq3al9d.xn--6qq986b3xl 。通过 JavaScript document.domain 获取到的域名也是 “xn--vq3al9d.xn--6qq986b3xl”,两者其实是同一个,通过任何一个地址都能访问到服务器。

扩展:使用 PHP 进行中文域名编码

作者: 袖之欢

科技改变生活,编程改变世界。

发表评论

电子邮件地址不会被公开。 必填项已用*标注