When I initiate a request with Chinese through IE9, haproxy-2.8.3 rejects it and returns 400 status code. When I initiate the same request through other browsers such as Google, it can be forwarded normally. May I ask what causes it and how to avoid or solve it
IE9 does not properly urlencode the requests manually typed/pasted, so illegal characters are send in the HTTP request, which haproxy then rightfully rejects.
If the URL comes from copy&pasting there is nothing you can do.
If the URL is a <a href>
link on a website, it needs to be properly urlencoded on the web page anyway and the problem should go away once that is fixed.
This happens to all characters that do not fit in basic ASCII english letters.
FWIW IE9 does not get any security updates since January 2016.