A short question for the people familiar with Htaccess files and Apache
Hi guys. i’ve got a technical question related to Apache servers and htaccess files, if you’re good in these subjects, can you read this post, please ?
Don’t bother reading it unless you’re good in these subjects, frankly, this is a boring description of boring technical weird stuff :o
So there IS someone ready to read the post ??
Thanks =)
OK, so here’s the problem, I suppose it somehow is related to Htaccess and Apache.
(FYI I’m on a mutualized host.)
Once or twice per week, when I load hentairules (and I mean : ANY page of my blog, while the non-blog folders – temporary file backups – are unaffected), I’m shown a “500 internal server error” error page.
And yet, when I open my blog with a proxy (like hidemyass.com), my blog appears to be working, it only affects my computer.
Once I get this “500 internal server error”, I may have to wait for 2 or 3 hours before Hentairules works again on my machine.
And the weird parts don’t just end here !
My hosting account also hosts my backup and test version of hentairules.net, under the hentairules.us domain. I also host the amateur pictures blog a friend wanted to make for him (I even had to install it, sigh), cuteamateurteens.com.
And guess what ? These two other blogs had the same “500 internal server error” error message. Even though, when tested through a proxy, they still worked for the rest of the world !
Frankly, I’m completely lost, here. My host didn’t report any bug with their hosting, and yet they report even the smallest problems, hardware or software.
My quess would be that is is somehow related to Htaccess files and Apache (the first is a file present on all my blogs, the second is the core server type of my host), even if I’m not too sure.
Would you have an opinion about this problem, something that would avoid me having to resort to using a public http proxy ? With a public proxy, I refuse to log in as admin, it’s too risky :-/
EDIT : I forgot extracts from Apache’s errors log. A flood of new entries of the same kind for the 3 concerned domains. These are examples, there was 1MB of errors generated in two hours :
[Thu Oct 22 00:00:03 2009] [error] [client 186.83.223.111] [host www.hentairules.net] Premature end of script headers: index.php
[Thu Oct 22 00:00:35 2009] [error] [client 82.240.212.129] [host hentairules.net] Premature end of script headers: index.php
[Thu Oct 22 00:00:51 2009] [error] [client 169.232.72.248] [host www.hentairules.net] Premature end of script headers: index.php
[Thu Oct 22 00:10:35 2009] [error] [client 217.39.51.74] [host www.cuteamateurteens.com] File does not exist: /homez.70/hentairu/cuteamateurteens/none
[Thu Oct 22 00:39:42 2009] [error] [client 74.183.242.72] [host www.hentairules.net] request failed: error reading the headers
Thanks a lot if you can help, or if you have a suggestion
500 errors happen for a multitude of reasons, including overloaded servers and outright blocking of IP addresses either at the htaccess level or at the apache configuration level.
Without more technical details on the 500 error (like server-side error logs) you really can’t tell what’s actually causing it.
You're right. I copied the new elements (new compared to the norm) from my log.
Doesn’t sound like a htaccess problem. Premature end of script headers means that the php process failed to return anything to apache. Well, or something like that. You can try to increase the memory limit for php.
Maybe you can find more verbose error messages. E.g. syslog, or enabling php’s error logging.
From the errors you might think its more related to the site script itself rather than the server
The log shows several IP are affected, so it’s not just your connection. The problem is on the server.
“Premature end of script headers” is sent by Apache when PHP couldn’t complete his job. “Error reading the headers” when the HTTP request is not complete. So it seems Apache/PHP are sometimes stopped while processing.
As you said it happens after you upload something new, I guess the server can’t handle the load. Do you have any access stats? Are there peaks when the troubles occur?
If it is the case, check if you’re using mpm/prefork. Is PHP is with CGI or as a module? Depending on this, you’ll have to increase memory or children for Apache. At least, if my diagnostic is right.
BTW, here are 2 minors defects of your site:
– On some pages, like this one, you have a “table” tag before your doctype.
– The link redirection is badly formed. You should escape the “redir” parameter (rawurlencode() in PHP). It would make it work with some browsers like Opera.
I realize this isn’t a technical contribution, but this exact thing happened to me a couple days ago, with almost identical text to that end part.
I was going to copy/paste in a comment somewhere to let you know, but when I refreshed everything was fine, and has been since, so I figured it was a fluke and forgot about it until now.
Hope you’re able to resolve this quickly. Good luck.
Usually this kind of error is due to a php cgi that is too long to execute.
But maybe if you see that problem only without proxy that can mean somehow there is a trouble in your side like no aknowledge of packet and you have a php script waiting too long to be ended by a return from your browser. So have you try simple stuff like reset your modem, try with an other browser (opera, SRWare Iron, etc) ? if yes with what result ?
I agree with the overload diagnostic, given what we tell us. And there is a simple explanation about the fact that it still works through a proxy.
If you hosting provider is big enough, it has datacenter in several places in the world. Updates to the master site that you make are duplicated to several servers around the world to spread the load and improve reliability. Each client/proxy is redirected to the nearest copy of the site.
But usually clients of this kind of service are aware of it so it’s a bit far fetched. One way to test it would be to put in a test page a snippet of code displaying an information that uniquely identifies the server, and run it from your workstation and through a proxy.
I am not by any means a pro…But I agree this really doesn’t seem like a htaccess problem.
htaccess is a file that regulates *access* to your files. It can’t, as far as I know, repel and accept connections randomly. It’s either set to deny connections from a certain set of IPs, in which case you would be always denied, or not.
Furthermore, it would not give a 500 error, unless there is a problem with redirection, but that doesn’t seem to be the case since you are using permalinks and they work fine.
It’s hard to tell from the little log you provided, but the problem probably stems from your PHP script.
But if it is only from time to time, I wouldn’t worry much about it. I never had any problem browsing your site, and I’m here more or less daily.
Thanks by the way.
PS: are you thinking of reuploading the mangas by Makoto Fujisaki anytime soon?
according to
http://htmlfixit.com/cgi-tutes/tutorial_Common_Web_dev_error_messages_and_what_they_mean.php#premature
the error comes most probably from “Permissions, ascii & binary file uploading and script configuration […] are the things most likely to cause such an error”
I don’t know if it helps.
Since you’re an admin on this site I’d say it has something to do with either the template or the plugins you use on the site. One of these fails miserably which results in a 500 and a timed ban for your IP on the server.
Contrary to what others have said this can also be connected to .htaccess files, albet only slightly. When I a time ago modified my .htaccess file (to get a script working) and I structured it in a wrong way I was confronted by a 500 error page when trying to access a PHP file, which in turn banned me from the server for a day, and I couldn’t connect to the other websites located on the same server.
I’d say check the compabilities of all your plugins and this template to each others. It’s possible one or two of them conflicts with each others in rare cases (logged in as an admin etc.).