托管表情符号域名的困境

托管表情符号域名的困境

我正在尝试让我的 IIS8.5 处理 IDN 域名,包括带有表情符号的域名。由于应用程序运行动态主机名我仅通过 IP 和协议进行绑定。IIS8.5 在 IDN 和 Punycode 重建方面做得很好,但仅限于 Windows Unicode 二进制表中的 Unicode 字符,我认为它比 Unicode 6.0 更旧。如果域中有某种字符,比如 MAC Unicode 二进制表,则无法重建主机名,服务器会抛出 400:请求主机名无效。我尝试了所有可以想象到的 IIS 配置和所有可能的 mashine.config 设置,但都没有成功。

关键问题是,由于 IIS 绑定没有启动,因此不会触发任何应用程序事件,我无法使用代码干预错误请求并处理错误字符的后果。所以,我有几个问题要问,回答其中任何一个我认为可以解决我的问题?

1) 有没有办法将 IIS 站点与 Unicode 字符绑定,并且没有超出 Windows Unicode 表的主机名?有没有办法更改 Windows Unicode 表?

2) 我不介意通过自己的代码实现全局 IIS 模块来处理该问题,但需要引发预绑定事件。IIS 是否公开任何预绑定事件?

3)是否有其他方法可以使用不包含 IIS 的 .Net 代码嗅探通过 IP/PORT 的 HTTP 流量?

感谢您的想法。

相关内容