Temporarily Unavailable message -- can it be modified?

Temporarily Unavailable message -- can it be modified?

12 posts / 0 new
Last post
calden's picture
calden
Points: 0
Temporarily Unavailable message -- can it be modified?

I occasionally get pages with the following:

"Temporarily Unavailable
"The website that you're trying to reach is having technical difficulties and is currently unavailable.
"We are aware of the issue and are working hard to fix it. Thank you for your patience."

I believe these are most often php related errors and on other (non-Acquia) Drupal sites I am used to seeing details of the php error on the error page itself -- but this page gives no info. To figure out what went wrong, I check my drupal-watchdog.log via ftp -- but that is a bit onerous.

Several questions related to this:

* Is there any information/documentation on how this page is generated, what it is, and how it could be configured? Have looked (docs, kb, forums) but haven't found any.
* Is that the best way to see the error that is causing that page?
* I assume this is an Acquia "feature" so that end users see a readable message rather than technical jargon. Correct?
* Is that page editable or modifiable in any way? ie can I change the text, add styling, add a link, etc.
* Is there an option of displaying error information on that page (especially in development)?
* It says "We are aware of the issue and are working hard to fix it." but, in fact, there is no alert mechanism or anyway that I or Acquia will be "aware" of this issue, other than checking the logs, is there? Is there a way to be alerted when these pages (ie these errors) happen?

Perhaps my largest concern is that the message is not only misleading by saying that we are "aware" but it is often unfortunately misleading when is says "The website that you're trying to reach is having technical difficulties and is currently unavailable." Usually that is NOT the case. Usually it is only that PAGE which is having technical difficulties, and navigating to another page (eg home page) is the proper course of action -- not having "patience" which the message suggests.

So for all kinds of reasons I'd like to be able to modify this page -- and if this is an Acquia level setting (ie not individually configurable), would suggest that the copy be revisited and edited.

Thanks in advance for any help!

Status: 
Resolved
Barry Jaspan's picture
barry.jaspan
Points: 56

Christopher,

That messages comes from Varnish, the caching server on the Dev Cloud load balancer mesh. It means that your site returned a status 500 error. Currently, it is not configurable.

For debugging, you can bypass the load balancer and Varnish by hitting your Dev Cloud server directly; then you will see the error message from PHP or whatever your site is configured to display. To do this, edit /etc/hosts on your local computer to include an entry for your site's domain pointing to the IP address of your server. Get your server's name from the Servers page of the Cloud UI, and run dig, host, nslookup, or other tools to get the IP address.

Remember to remove the entry from /etc/hosts when you are done, or you will permanently be hitting your back-end server directly instead of going through Varnish. (Unless you want to do this permanently...)

Status Change: 
Resolved
webmaster64's picture
webmaster
Points: 24

Can you give an example of your instructions? I placed my domain name in the etc/hosts file along with the IP address from the domains page. Didn't work. Tried looking up my server name from the servers page in nslookup. Didn't work. Why would a server name at acquia be in the domains table anyway?

I would love to bypass the load balancer and varnish. Haven't been able to update my site in a week due to unrelenting 503 errors.

hal.eagar's picture
hal.eagar
Points: 10

do you mean to find the server name like srv--####.devcloud.hosting.acquia.com
and run nslookup srv--####.devcloud.hosting.acquia.com

one could probably add additional domains like direct.example.com to th enviroment on the domains page and keep them and the hosts records in place for quick testing.
I'll try that out and report back.

--
Hal Eagar
Software Architect
DOOR3
hal.eagar@door3.com

webmaster64's picture
webmaster
Points: 24

No. I tried adding the devcloud hostname and IP address as provided by acquia. In that case, you don't need to look up the IP address, it is provided. I was taking the instructions literally when they said get the server name from the servers page, but maybe something was left out. the server name is something like srv-1234.

hal.eagar's picture
hal.eagar
Points: 10

The Public IP Address passes through Varnish, this is the only IP address you will see in your acquia console.

To achieve a direct connection that Barry suggested, you want to get that srv-1234 name and then look up it's IP
nslookup srv-1234.devcloud.hosting.acquia.com
(this is the ip that you SSH to if you have set up SSH to your server)

then edit your hosts file so direct your domain to that address.
I set
107.22.19.xxx prod.mydomain.com

and then on the Domains tab I added that sub-domain to my production server.

Now when I access prod.mydomain.com I see my site and when I view headers I see
"Server Apache" no Varnish no nginx listed so this should be a direct link to my server.

--
Hal Eagar
Software Architect
DOOR3
hal.eagar@door3.com

webmaster64's picture
webmaster
Points: 24

Thanks for that. It worked adding the server IP to my hosts file, but alas, I am still getting the site unavailable errors when trying to create content. Back to the drawing board.

hal.eagar's picture
hal.eagar
Points: 10

Next step review logs, but rather than downloading
you can ssh to server and tail logs while you access problem pages.

tail -f /var/log/sites/[sitename]/logs/[srv-xxxx]/drupal-watchdog.log
tail -f /var/log/sites/[sitename]/logs/[srv-xxxx]/php-errors.log
tail -f /var/log/syslog

note: sitename may be "sitename" for errors on your production enviroment or sitenamedev or sitenametest for errors on your dev or stage environments.

Normally I would do that testing on my local computer with a copy of the site unless these are problems that occur only on the Acquia server.

Best of luck.

--
Hal Eagar
Software Architect
DOOR3
hal.eagar@door3.com

webmaster64's picture
webmaster
Points: 24

Thanks for your continued suggestions. We have reviewed all the logs and the only error that seems pertinent is an error that seems to point to an array expecting values, but null is passed. Oddly enough there are no PHP or apache errors, only an error in watchdog. This occurs whenever we try to create or update content.

Recoverable fatal error: Argument 2 passed to SelectQuery::fields() must be an array, null given, called in /mnt/www/html/xxxxxx/docroot/includes/entity.inc on line 284 and defined in SelectQuery->fields() (line 1300 of /mnt/www/html/xxxxxxx/docroot/includes/database/select.inc).

webmaster64's picture
webmaster
Points: 24

The problem seemed to be server configuration. We moved to an upgraded OS and ops tweaked some server settings and now we are fine.

leslie@ownsourcing.com's picture
leslie
Points: 0

We have a client with regulations to display a specific message when their site is unavailable. Can the message on the Temporarily Unavailable page still not be configured?

kappaluppa2@gmail.com's picture
kappaluppa2
Points: 0

Can the message on the Temporarily Unavailable page still not be configured? If not, how can we receive a notification that this was generated and the referring url?