Nginx 400 errors due to random encoded string starting with "\x" from random IP addresses

Solution 1:

You are most likely seeing this because you are making an HTTPS request to an HTTP endpoint. For example, you're sending an HTTPS request to port 80 of your web server instead of 443. As a result, the HTTP endpoint gets a bunch of encrypted data, makes no effort to decrypt it (since HTTP is supposed to be plaintext), and so you get a bunch of gibberish in the log file.

Solution 2:

I had the same issue, checked the source IPs and some where from Google, which make me doubt some sort attack. Then I realized I had a default_server listening on 443, but no SSL certificate configured. I commented out this server and the issue went away.

So I second Yevgeniy point.

Check your nginx configuration for a miss configured server listening on port 443!