Nginx / IIS 中文域名(IDN)绑定操作介绍

来源:本站原创 点击数: 发布时间:2026年07月17日

Nginx(Linux/Windows)中文域名绑定

  1. 把中文域名转成 Punycode(xn‑开头)

  2. nginx 配置里 server_name 只能填这个 xn‑编码,不能写中文 nginx

server {
    listen 80;
    server_name xn--xxxx;
}
  1. nginx -t校验 → nginx -s reload生效

    要点:配置文件不识别中文,必须用编码。




IIS7.5‑10 中文域名绑定

图形界面(inetmgr)

  1. 网站→绑定→添加

  2. 主机名直接填中文域名,IIS 内部自动转 Punycode 保存。

    不要把 xn‑编码粘贴到图形界面,会报错。


命令 / 脚本(appcmd、PowerShell)

必须用 Punycode (xn‑xxx),不能写中文 cmd

appcmd set site /site:"站点名" /+bindings.[protocol='http',bindingInformation='*:80:xn--xxxx']




两者通用

  1. DNS 填原始中文域名做 A 记录指向服务器 IP。

  2. HTTPS 证书 SAN 填写 Punycode 域名,证书不能写中文。

  3. 用户浏览器输入中文访问,浏览器自动转 Punycode 发请求。

    速记:

    Nginx:配置写 xn 编码;

    IIS:界面写中文,脚本写 xn 编码。底层都是 Punycode。