I'm at my wits end with this.
I have a WordPress site with a few (7) plugins and I am getting around 10 reports a day of 500 Internal Server Errors.
These could happen at any time whether just browsing the site or via the administration part of the site.
I have contacted the host and just tell me that they are not developers and that there is a problem with the site, which is no help at all. Surely if there were an issue with the site/code it would manifest itself permanently not just randomly.
The only meaningful error I have found from around the same time these 500 errors occur is:
xxx.xxx.xxx.xxx:47767] End of script output before headers: index.php
mysite.com [Mon Jan 04 15:31:57 2016] [error]
Which, from searches, could mean pretty much anything. The only thing I've also found is that some of the code may contain whitespace, but surely this can't occur only occasionally? It would happen all the time.
This happens on the main index page which doesn't change. Am I being fed lies from the host? Why does it only happen occasionally on a page that doesn't change?
I'm tempted to move the site to another host to prove a point, but am also happy to be proven wring and there is something wrong with the site, rather than the (shared) server it runs on.
Any pointers would be greatly appreciated. Thanks.
I have contacted the host and just tell me that they are not
developers and that there is a problem with the site, which is no help
at all. Surely if there were an issue with the site/code it would
manifest itself permanently not just randomly.
500 Server Errors can be difficult to track down. But, if they are transient and not consistent, I'd say the host is flakey, esp. if they are not much help.
Find another host with an inexpensive, money-back guarantee and copy the site over and test it for a few days.
If you leave the current site up and use a spare domain or an IP on the new host, you need to change URLs in the database for the site copy on the new host. See interconnectit.com WordPress Serialized PHP Search Replace Tool
Related
I have a load of entries in my web server error log from the same referer. See example below:
Cannot serve directory /home/*****/public_html/wp-admin/css/: No matching DirectoryIndex (index.php,index.php7,index.php5,index.perl,index.pl,index.plx,index.ppl,index.cgi,index.jsp,index.jp,index.phtml,index.shtml,index.html,index.js) found, and server-generated directory index forbidden by Options directive, referer: binance.com
I have been getting this error from the same referer (binance.com) for weeks. I know this error is a result of my .htaccess and security settings forbidding indexing in that directory etc... However my question is will having this amount of attempts affect performance? Is the referer (binance.com) the origin of the attempt? If so, is it worth me somehow blocking this independently to tighten security? Or is it best left alone not really affecting anything?
Thanks
I'm running a Wordpress site as well. Recently started seeing the same thing from this referer. The error indicates that binance.com has a page that is attempting to include a directory as though it was a file. Something like this:
<link rel="stylesheet" href="https://website.com/wp-admin/css/">
My guess is that this is actually some kind of security scan unrelated to binance.com that is just using their hostname to distract from the scan itself, or spam/scam to drive traffic to binance.com. It appears there has been a rise in these occurrences in the last week or so. I see others reporting the same thing online. The good news is that your Apache config is such that directory listing is disabled. Directory listing is evil ;)
I am having a lot of trouble with exceeding the allocated resources on my shared web host.
I am exceeding both threads and memory on daily basis when I share a post on facebook (I am using wordpress).
I have checked the logs and I see that 6 of the 7 most popular requests are to files and paths that no longer exists on my server (at least I don't think so).
See below:
I have checked the source code of my pages and there is no trace of these paths. The plugins in question do not exists on my server (have searched both ftp and sql).
I am not even sure if these requests are even the root of my problems, but it seems strange to me. Especially as the requests are coming from hundreds of different, seemingly normal IPs.
I am going crazy, seeing my site down all the time.
According to me you have previously installed this plugin.
I have downloaded this plugin and check that plugin it is having all the files which are called on your server. Have you active this plugin before?
Check with databse is there any word like 'usp_options'.
This is a big comment due to that i posted it in the answer not in the comment.
I have around 10 plugins installed.
I use a wordpress theme by sitemile.
The site works fine sometimes, but very often, if I were to go to the login or sign up page, it displays the 500 internal error. I want to set up logs for see to see whats happening but I am not sure how I can do that.
Also, sometimes the homepage of the website loads very funky but if i go to other pages, it may or may not load that page properly.
Not an internet issue. Cleared cache as well. Interestingly, I see different results in normal and incognitu browsers.
Do these internal errors occur most of the time when you have a lot of plugins? Is there some other source of problem that I can check to make sure everything in my site is alright?
Error screenshot attached.
Homepage of website
Depending on your webhost, you might already have more details in a log file. Often times with apache it's called "error_log" and it can be found in your root directory or the directory of the file causing the error.
It could be anything from access permissions or a security block. So it's going to be hard for someone to give you an answer on this without more information.
Things to try:
You can try disabling one plugin at a time until it works.
Look for an error_log (or similar) file
Double check all of the file permissions, chmod and chown
Contact your web host and see if they can provide any insight
If you ARE the web host (or manage the server yourself) then you can check the apache error logs (if enabled) and/or security logs on the server
Double check any errors on the .htaccess file
A script could be consuming too much resources or taking too long to load, you can narrow it down by process of elimination and then disable/patch the culprit
I have an odd situation with a DEV site at work. Last week, our sys admin was experimenting with moving our DEV servers but didn't get chance to finish the job so rolled back his changes.
When I type in this URL http://mylocalsharepointsite/anypage.aspx then I get the page easily. However, when I change the protocol to https I first get a message warning me about the certificate, then when I click ignore warning I get a 404 error.
I know the site and pages are there because I go to IIS and can see the site, the directory it is mapped to and the SSL certificate, which since it's DEV we generated ourselves.
I suppose my question should be this, what are the things I should look at first, is there anything obvious I've overlooked.
The problem here was with IIS and the certificates. I re-generated the certificates, even though there didn't seem to be anything wrong with them.
This page helped me a lot, especially the two tools: SelfSSL and SSLDiag.
http://www.iis-aid.com/articles/how_to_guides/creating_self_signed_certificates_iis
I have an ASP.NET site that I'm going to have to take down to make some major structural updates to, and I was wondering how I should go about it from the client-side perspective. I have heard of an App_Offline.htm file or something like that, but I've never really gotten that to successfully work. Does anyone know how to do this?
EDIT
My app is running ASP.NET 4.0, for what it is worth.
Rather than messing with the app_offline silliness (among other reasons, you can't continue to see the site internally while performing maintenance), I created an additional "down for maintenance" site in IIS, which is normally stopped. It has the same IP, host headers, etc as the main site, but only has a default.aspx, an images folder and a stylesheet. That file contains the "This site will be down for maintenance until xx:xx PM CST" message.
When I'm ready to perform the update, I stop the main site and start the maintenance site, which then processes any requests it receives and, of course, returns the maintenance message.
When the maintenance is complete, stop the maintenance placeholder site, and restart your main site.
If you're using host headers, you can modify this approach so that the site remains internally accessible over your LAN/WAN while the maintenance site is handling external requests. A simple approach is to remove the host headers for <*>.yourdomain.com from the main site before starting the maintenance site, and ensure that the main site has an additional host header that is internally accessible (added to your local hosts file, for instance). When you start the maintenance site, it'll handle external requests while the primary site will handle requests to the internal-only header.
Alternatively (this seems complex, but saves you the trouble of adding and removing headers), create three sites:
Main site: Configured as in normal operation.
Maintenance site: Has same IP, host headers, etc as main site, but only contains default "down for maintenance" page and any images, css, etc that are required.
Internal test site: Duplicates the configuration of the main site and points to the same folders, but only has host headers,etc for an internal name that is not in the public DNS.
This way, you have only to stop the main site and start the other two in order to funnel external traffic to the "down for maintenance" site, while you can still see and tweak the primary site. This is helpful for that last few minutes of testing/bug fixing that tends to come up during a deployment.
Update
If you don't have access to the server or IIS Manager, you most likely won't be able to use any of that. Assuming that your access is limited to your own folder, your options seem to be either to deploy app_offline.htm to the root of the site (ASP.NET checks for that filename), or to just replace the whole site with a "down for maintenance" app. Perhaps someone else will chime in with alternatives.
The trick for IE is to push over the wire particular count of bytes otherwise IE shows not so friendly 404 error anyway. here is more details: http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx
If you have a good pre-release testing process and careful release procedures you probably won't be down for long.
In that case dropping a file called App_Offline.htm into your site root works fine. IIS will replace your site with it until you remove it. It's a painless way of making sure nothing's updating while you transition.
Mine just has a header with the site logo and a message that we'll be down for maintenance for up to twenty minutes. That's it. It took me about five minutes to write IIRC.
I would definitely recommend this for short sharp down periods of less than half an hour. Anything longer and you're probably looking at a major system change that warrants an approach like David Lively's.