我在一台服务器上托管多个网页。
对于路由,我使用 haproxy。
现在,一位有趣的用户想要一个变音符号域名“supportbär.de”。
#haproxy.cfg
frontend http-in
..
acl is_supportbaer hdr_dom(host) -i supportbär
use_backend supportbaer_wp if is_supportbaer
通常情况下,这是可行的。但在这种情况下,不使用后端“supportbaer_wp”。
haproy 能处理变音符号域名吗?如何处理?
答案1
没有什么可以处理变音符号域名 - 因为域名不能有变音符号。
浏览器必须将它们转换为另一种形式,因为 URL 不能以变音符号传输。
http://en.wikipedia.org/wiki/Internationalized_domain_name
有算法。
这样做是为了兼容性。
因此,HaProxy 不会看到 ae - 它将看到根据 IDN 的编码。使用它,它应该可以工作。
IDNA 编码示例[编辑] 可以使用示例域 Bücher.ch 来说明 IDNA 编码。“Bücher”在德语中意为“书籍”,.ch 是瑞士的国家代码顶级域名 (ccTLD)。此域名有两个标签,Bücher 和 ch。第二个标签是纯 ASCII,保持不变。第一个标签由 Nameprep 处理后得到 bücher,然后转换为 Punycode 得到 bcher-kva。然后以 xn-- 作为前缀,得到 xn--bcher-kva。因此,适合在 DNS 中使用的结果标签是 xn--bcher-kva.ch。
对于转换,您可以使用在线 IDN 服务,例如http://mct.verisign-grs.com/