URI中带有unicode字符的HAProxy/Head请求

URI中带有unicode字符的HAProxy/Head请求,unicode,http-headers,haproxy,cyrillic,unicode-escapes,Unicode,Http Headers,Haproxy,Cyrillic,Unicode Escapes,我刚刚发现,在URI中使用未编码的unicode字符时,HAProxy有一个问题(返回400个错误请求),如下所示: 我故意不编码URI的路径部分,因为这是一个cyr HTML5+网站,如果我不得不逃避一切,事情会变得非常混乱 到目前为止,我还没有遇到任何问题与普通的网络服务器和浏览器,但尽快 但是-今天,当使用一个SEO网络工具进行测试时,它显然使用HEAD请求来检查链接的有效性,它告诉我大多数链接都是坏的/坏的 然后我测试了一个HEAD请求,每次都失败了 “修复”此问题的唯一方法是,如果我

我刚刚发现,在URI中使用未编码的unicode字符时,HAProxy有一个问题(返回400个错误请求),如下所示:

我故意不编码URI的路径部分,因为这是一个cyr HTML5+网站,如果我不得不逃避一切,事情会变得非常混乱

到目前为止,我还没有遇到任何问题与普通的网络服务器和浏览器,但尽快

但是-今天,当使用一个SEO网络工具进行测试时,它显然使用HEAD请求来检查链接的有效性,它告诉我大多数链接都是坏的/坏的

然后我测试了一个HEAD请求,每次都失败了

“修复”此问题的唯一方法是,如果我使用“接受无效http请求”选项,但这不是要使用的生产工具

还有其他建议吗


我必须对所有URI unicode字符进行编码吗(请记住,我不喜欢与XP之类的旧操作系统兼容)?

您使用
HEAD
请求进行了测试。。。怎样?一种可能是“SEOWeb工具”是由不知道如何发出正确HTTP请求的人编写的。用户代理负责正确编码未编码的URL组件。我所做的是:curl-i-它提供:HTTP/1.0 400错误请求缓存控制:无缓存连接:关闭内容类型:text/html我正在测试的页面是:这是一个HEAD请求-显然失败了。它在HAProxy后面。如果直接在NGINX后面,同样的调用也可以很好地工作。您使用
HEAD
请求进行了测试。。。怎样?一种可能是“SEOWeb工具”是由不知道如何发出正确HTTP请求的人编写的。用户代理负责正确编码未编码的URL组件。我所做的是:curl-i-它提供:HTTP/1.0 400错误请求缓存控制:无缓存连接:关闭内容类型:text/html我正在测试的页面是:这是一个HEAD请求-显然失败了。它在HAProxy后面。如果直接在NGINX后面,同样的调用工作得非常好。