I run a website, let's say www.example.com. On it I have a path and file, say www.example.com/path/file.html.

The Apache log lists GET requests like: GET /path/file.html HTTP/1.1

Which is correct, corresponding to www.example.com/path/file.html; such lines result in a 200 status code and everything's good.

But then I have other entries:

GET http://www.example.com/path/file.html HTTP/1.1


GET http://www.othersite.net/ HTTP/1.1

Which would correspond to something like http://www.example.com/http://www.example.com/path/file.html or http://www.example.com/http://www.othersite.net/ which does not exist (My server returns a 404 for these.).

These requests are always from far away (Italy, Latvia, ...) while actual users of my website are invariably local. What are these? Is there any particular reason for these requests? Have others seen these happen?

It's been going on for at least a year and it's continuous (though I'm not being flooded).

They are not transparent attacks such as:

GET //mysql-admin/ HTTP/1.1 or GET /webdav/test HTTP/1.1

  • Are there links to othersite.net on your site? – paulmorriss Aug 11 '11 at 14:35
  • @paulmorriss: No, I've never seen it before. Also there are several sites that come up like that. I see hotlinked images, blog links, and the like. – Charles Aug 11 '11 at 14:53
  • Most likely 1) those requests were sent by bots that were given bad URLs in first place .. or did not parsed given URLs properly or 2) those are the actual badly created links somewhere there and those were users clicking on it: some browsers can "fix" them, but most will not. – LazyOne Aug 11 '11 at 15:19
GET http://www.example.com/path/file.html HTTP/1.1
GET http://www.othersite.net/ HTTP/1.1

These are attempts to use your server as a HTTP proxy; that's what a full URL rather than a path in the request means. If there is another domain name present as in the second example, then they are attempts to misuse your server as an open proxy, which it is properly rejecting.

Giving the full URL while requesting a page from your own site may be from broken HTTP clients, or they might be probes to check if your server is functioning as a proxy without involving another site.

Don't worry about it as long as you have only 4xx responses in your logs. If your server were in fact proxying (as Apache can be configured to do) then it would be important for you to fix that, as open proxies are tools for various kinds of abuse (of other hosts, not yours).

  • Ah, I guess this means I don't know HTTP. :x – Charles Aug 12 '11 at 1:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.