【问题标题】:HTTP error code 505HTTP 错误代码 505
【发布时间】:2012-05-30 20:14:13
【问题描述】:

我已经用谷歌搜索了 505 是“不支持 HTTP 版本”,但仍然无法弄清楚我的问题。 我有一个带有 Tomcat 的 Web 应用程序,服务器端带有自签名证书以启用 HTTPS,而无需验证客户端。客户端将验证服务器证书。 我已经分析了wireshark数据包,看来SSL握手是正确的。 但是当我检查 Tomcat localhost_access_log 时,客户端请求会出现 505 错误,服务器端也没有收到客户端请求。 你能帮忙给点提示吗?

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 -

【问题讨论】:

标签: tomcat ssl


【解决方案1】:

如果您在 HTTP 版本之后使用尾随空格向 Tomcat 发出请求(如您的示例中所示),则 Tomcat 将响应 505 错误。在 Tomcat 7.0.27 上确认。

RFC 2616 (HTTP 1.1) 说HTTP-Version"HTTP/" + digit + "." + digit 组成。 Request-Line 以 " " + HTTP-Version + CRLF 结尾,这意味着在最后一个数字之后不允许有空格。

参考资料:

【讨论】:

  • 是的,行尾有一个空格字符。我无法控制客户端,但它与Tomcat5.5 配合得很好?这种情况如何处理?
  • 看来我们的团队之前破解了 Tomcat5.5,所以它成功了,也许我需要再次破解 Tomcat7 来解决这个问题。非常感谢克里斯托弗·舒尔茨~
【解决方案2】:

显然不是 OP 的答案,但我今晚在尝试调试 SOLR 服务器时遇到了此错误消息。

我的问题不是 HTTP 版本之后的额外空间。

我的客户端应用程序记录了错误的 URL,我愉快地将其复制并粘贴到到 SOLR tomcat 的 http 端口的 telnet 连接中。我的日志消息显示 URL 没有正确 %20 编码 URL 中的空格。我收到了错误的 HTTP 版本错误,大概是因为它将 URL 中空格后面的所有内容解释为我的 HTTP 版本。

感谢http://java.dzone.com/news/solr-tomcat-and-http11-505 的提示。

【讨论】:

  • 这很有帮助。我的请求中也有空格。愚蠢的空间。
猜你喜欢
  • 2018-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-14
相关资源
最近更新 更多