Wednesday, August 31, 2011

Re: Mystery... Faked Referrer Generates 500 Instead of 404 Error

On 31-08-11 21:19, charris wrote:
> Hello. I hope someone can provide some clues.I have begun receiving
> regular 500 errors from a page that does not exist. Without providing
> the entire error page, here are the essentials:
> [Django] ERROR (EXTERNAL IP): Internal Server Error:/sample/
> path/
> IOError: request data read error
> 'PATH_INFO': u'/sample/path/',
> If I visit the page, I get a 404
> error, but the error message referencing the same page generates an
> internal server (500) error.

Some ideas:

.pl sounds like a perl script. Perhaps google is hitting your server
with now-non-existing urls?

Regarding the error 500: can you put your server in debug mode for a
couple of minutes? Then you can see the exact error in your browser.
(Note that django 1.3 allows you to set up your logging so that those
500 errors end up in the logfile.)

The HTTP_REFERER header lists the page the request comes from, so
getting a 404 on that page and a 500 on another page isn't strange.

Request data read error: perhaps someone is trying to DDOS you: open
connections to your webserver but not closing them in an effort to hose
your webserver. Django gives a request data read error, perhaps, because
the connection stayed open but no data was forthcoming.

I don't know about your webserver, but you can probably tell your
webserver to immediately tell visitors to those specific pages that the
page is gone (apache rewriterule, for instance, with a "410 GONE" response).


Reinout van Rees
"If you're not sure what to do, make something. -- Paul Graham"

You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to
To unsubscribe from this group, send email to
For more options, visit this group at

No comments:

Post a Comment