HTTP error code 505

2019-02-06 15:12发布

问题:

I have already googled that 505 is "HTTP Version not supported", but still can not figure out my problem. I have a web application with Tomcat,server side with self-signed certificate to enable HTTPS,without authenticating client. The client will authenticate server certificate. I have analyze the wireshark packet, it seems the SSL handshark is correct. But when i check Tomcat localhost_access_log,there will be an 505 error for the client request, also server side does not receive the client request. Could you kindly help to give some hint on this?

172.25.21.113 - - [24/May/2012:16:28:26 +0800] "GET /updserver/update?action=signature_update&device_type=NGN&service_type=KAV&engine_ver=1.00&sig_ver=4.123&mac=0019CB72736E HTTP/1.1 " 505 -

回答1:

If you make a request to Tomcat with trailing whitespace after the HTTP version (as in your example), Tomcat will respond with 505 error. Confirmed on Tomcat 7.0.27.

RFC 2616 (HTTP 1.1) says that the HTTP-Version is made up of "HTTP/" + digit + "." + digit. Request-Line ends with " " + HTTP-Version + CRLF which means no whitespace is allowed after that last digit.

References:

  • HTTP-Version: http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.1
  • Request-Line: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1


回答2:

Clearly not the answer for the OP, but I ran into this error message tonight while trying to debug a SOLR server.

My problem wasn't an extra space after the HTTP version.

my client application was logging the bad URL, which i blithely copied & pasted into a telnet connection to the SOLR tomcat's http port. My log message showed the URL without properly %20-encoding a space in the URL. I got the bad HTTP version error, presumably because it was interpreting everything after the space in the URL as my HTTP version.

thanks to http://java.dzone.com/news/solr-tomcat-and-http11-505 for the hint.



标签: tomcat ssl