我最近被问到“在我们的access.log中是什么原因造成这种情况?
59.56.109.181 – – [22 / Feb / 2010:16:03:35 -0800]“GET http://www.google.com/ HTTP / 1.1”200 295“ – ”“Mozilla / 5.0(compatible; MSIE 5.01 ; Win2000)“
我的直接答案是有人探索一些有点狡猾的东西。
但:
这是一个标准的LAMP服务器(Ubuntu)。
也许你想阅读http://wiki.apache.org/httpd/ProxyAbuse
特别是这一点:“我的服务器configuration正确,不能代理,为什么Apache返回一个200(成功)的状态代码?”,它会问你的问题:“这不应该是一个404响应,而不是200!
如果apache的conf是好的,它只是发送根页面。 这是因为你得到一个状态码是200。
我想这会发生,如果有人试图使用服务器作为代理。 这将使http:// … URL“正常”(而不仅仅是您期望从常规服务器请求获得的path部分)。
至于200状态码,那…错,呃,我的服务器也是这样。 它似乎忽略了http://主机名部分,并使用剩余path从本地服务器返回结果。 你可能需要挖掘RFC来找出为什么这是有道理的; 我不知道答案。