Why GAE naked custom domain stopped working - google-app-engine

I've a running Django app served on Google App Engine standard under a custom domain: mysite.com.
My site was running pretty well for days but suddenly it stopped serving content using the custom domain.
In summary:
www.mysite.com => works
mysite.com => stopped working
There were no changes in either the DNS nor the app deployment.
What I've tried:
First I checked the DNS lookup for these names:
a) nslookup my-app.appspot.com <== the GAE canonical site name
b) nslookup mysite.com <== custom domain FAILING, ip resolved
c) nslookup www.mysite.com <== custom domain working, ip resolved
d) nslookup ghs.googlehosted.com <== the recommended GAE DNS entry for www subdomain
Surprisingly not only all the names are resolved correctly but also they map to different IP addresses.
Actually, c) and d) map to the same IP (as expected). Anyway its not a DNS problem as stated here.
Second, I checked GAE settings to see the custom domain and tried to add another domain: mysite.com. But it claimed it was already mapped.
Third, according to this answer:
- I deleted the naked domain mapping and re-added later.
Fourth, I've checked documentation and don't find any missing thing in my setup:
https://cloud.google.com/appengine/docs/standard/python/mapping-custom-domains?hl=en#top_of_page
Both naked (mysite.com) and 'www.mysite.com' custom domains were working for days!
The current behavior is a bit weird. Running:
wget mysite.com
Produces:
Connecting to mysite.com (mysite.com)|xxx.yyy.zzz.ddd|:443... connected
Then it hangs for a while and ends with Unable to establish SSL connection.
The same happens using the web browser.
Anyone facing the same problem?
Any help is appreciated.

In case it is useful for someone else:
The problem has gone away suddenly, after an hour or so.
The only change I am aware of is to delete and register again the mysite.com custom domain entry in the GAE Web cloud console.
The naked domain is now working perfectly.
To avoid getting your site offline:
How to be alerted about your site's availability
Enable Stackdriver monitoring by entering into
https://console.cloud.google.com/monitoring
Create an uptime check using your site URL
In Policies: Create an alert policy to be notified by email or app push messages.

Related

Weebly Deleted Site Error 404 page not found

My college website www.chenabgrw.edu.pk was published on weebly. I purchased a new hosting service and updated nameservers. I installed wordpress on a subdomain www.new.chenabgrw.edu.pk After designing new site I deleted my weebly site to shift subdomain new.chenabgrw.edu.pk but I am still getting a 404 error of weebly.
For now I have made an html page on weebly having javascript of on page load redirect function which redirect main domain chenabgrw.edu.pk to new.chenabgrw.edu.pk
This isn't going to be (would not have been) a Weebly issue, but instead a DNS issue. Or you were seeing cached information from your browser/network.
As it stands now, you have a CNAME for www.chenabgrw.edu.pk pointed to chenabgrw.edu.pk but chenabgrw.edu.pk is pointed to a Weebly IP Address (199.34.288.67). In other words both the Root and the WWW are pointed to the Weebly IP Address.
So, seeing that your NAMESERVERS are pointed to hosterpk.com you would want to log into the hosterpk.com account, where you manage your domains DNS, and point the Root Domain chenabgrw.edu.pk's A Record to 69.162.90.106 ~Then you should be able to set the domain to use chenabgrw.edu.pk instead of new.chenabgrw.edu.pk
Keep in mind that after you make DNS changes it may take time for them to update. You can use a service like http://www.who.is/dns/new.chenabgrw.edu.pk or http://www.dns-checker.com/dns/new.chenabgrw.edu.pk to see if they have been updated. THEN your browser cache or Network might be showing you out-dated info. Clearing your browser cache and or restarting your network can help.
If you have any issues updating your domains DNS, you'll want to reach out to the provider where you manage your domain's DNS.

I need help getting a custom domain on google apps to work

For several years I had custom domain working for my app on google apps. A year ago they changed the way data is stored forcing me to move to a different application name. Since then I have been unable to map the custom domain to my new google app.
Google developers console shows that I have added the 4 A records and the 4 AAAA records they ask for
I also added a CName record and when I ping www.erlandanderson.com it shows ghs,googlehosted.com
When I hit the naked domain I get ERR_NAME_NOT_RESOLVED. When I hit the domain prefixed with www I get a 404 error.
the site can be accessed as http://erland-anderson2.appspot.com/ and it works.
Any bright ideas
You should make sure your domain is 'verified domain' with web-master tools. Then, you need to map both IPv4 and IPv6 addresses because parts of AppEngine is running on IPv6 and you cannot control it. Last comes the CNAME mapping of your app URI to ghs.googlehosted.com Once these three things are correct, you will be able to access your app over a custom domain.
i just took a look at your dns records (erlandanderson.com i presume). These are my findings:
You have a cname set up for your www subdomain, so that should work as long as you have "www.erlandanderson.com" setup as domain in your developers console
I cannot see the A or AAAA records on your bare domain
I see that you have the A and AAAA records for the wildcard (*) in your dns settings. Meaning everything except www (since it has a different config) is correctly configured. Note that there is a difference between *.youdomain.com and yourdomain.com. If you want to configure the latter you usually leave the subdomain part empty or put an '#' instead. So....
You need to add the A and AAAA records for the # entry in your dns configuration.

How make the Google Cloud Storage Bucket as a static-website Visible With and Without www?

Hello to everybody after all correct configurations as I followed at the "Documentation of Google Cloud Storage - Configuring a Bucket as a Static Website" my bucket it work as a website but the problem is about the prefix WWW in fact when I visit the bucket http://www.pieropretti.net I can see the content of the public bucket, but if I visit (from the browser Chromium version 42.0.2281.0 (64-bit) and same problem from the browser FirefoxESR 31.4.0 (Tor Browser 4.0.3) without the prefix WWW I receive the error server not found. This is the screenshot of the domain name DNS configuration in the picture here http://tinyurl.com/ncoc9y5
"www.pieropretti.net" and "pieropretti.net" are different domain names, and thus also correspond with different buckets. If you want to serve content from "pieropretti.net", you will need to create a bucket named exactly "pieropretti.net" in the same way you created the "www.pieropretti.net" bucket.
From what I can see, the DNS setting for "pieropretti.net." doesn't seem to have a CNAME, despite what your panel is telling you. Perhaps it just hasn't propagated to me yet.
From DNS records I notice that you are on OVH, if it is you can use the OVH Redirection Technology to redirect from naked to WWW.
If you are on other maintainers don't worry all offers service like OVH for redirect the naked to the www.
For top-level domain name we can't add CNAME, we can add A record, so I goto my Terminal and ping c.storage.googleapi.com to get the IP address, then I use the IP address to add into the A record, it works for me, just not sure whether it's an appropriate way to do it this way or not, but it just works for me.

GAE Error 404 after setting redirect www to naked domain on GoDaddy

I have been searching an answer this redirecting problem. There are many similar question but I still cannot find how to solve.
I have set my domain from GoDaddy for my GAE application as below:
Set CNAME for www to ghs.googlehosted.comdomain follow to:
https://cloud.google.com/appengine/docs/domain
Enable my naked domain by setting A and AAAA records follow to: https://support.google.com/a/answer/2579995
From this step both of my naked domain and my www are working perfectly.
However refer to the 'Site Setting' of 'Google WebMaster Tools' it is advised to decide a preferred domain either www or naked domain and set 301 redirect to the preferred one. So I decided to set my naked domain as my preferred one.
In my domain setting at GAE and my account at GoDaddy I deleted CNAME for www record and create at GoDaddy 'New Subdomain Forward' of www to http of my naked domain with type 301 (Permanent). However now my www domain come with this error:.
404. That’s an error.
The requested URL / was not found on this server. That’s all we know.
I checked my naked domain is still work. Could anyone advise what I have been misiing?
Finally I found solution how to solve this domain redirecting problem.
I came to this help article: Updating Your Domain Name's IP Address for Forwarding from GoDaddy Support, stating that I must update the domain address manually so domain name forwarding services work correctly.
But instead of replacing all of the '#' Host in A record into this forwarding address I just need to add a separate host record name it 'www' to point the www domain to 50.63.202.1 to be forwarded and left the other original A and AAAA records as they are need for the naked domain to serve from GAE Application.
So after updating the records in A Host it will look like this:
Host Points To
# 216.239.32.21
# 216.239.34.21
# 216.239.36.21
# 216.239.38.21
www 50.63.202.1
Redirecting is work correctly now. My www domain is now redirecting to my naked domain. Off course the page will took some time to show up than point http directly to the naked domain but seems all is OK.
Hope this will also help others who preferably want to set their naked domain (non-www) as the preferred domain rather than the www domain.

Naked Domain Redirect Failing when using HTTPS SSL on Google App Engine

We've got a website:
www.feeltracker.com
This is running on Google App Engine
On Google App Engine, we have Naked Domain forwarding setup, so that:
http://feeltracker.com
redirects to
http://www.feeltracker.com
However, when we try to open the following address in Chrome:
https://feeltracker.com (notice the HTTPS)
We get a Google error page with the following message:
Google
404. That’s an error.
The requested URL / was not found on this server. That’s all we know.
Does anyone know how we can ensure https://feeltracker.com redirects to www.feeltracker.com?
Note that in Firefox we get the following additional information when trying to open https://feeltracker.com:
feeltracker.com uses an invalid security certificate.
The certificate is only valid for the following names:
*.google.com , *.android.com , *.appengine.google.com , *.cloud.google.com , *.google-analytics.com , *.google.ca , *.google.cl , *.google.co.in , *.google.co.jp , *.google.co.uk , *.google.com.ar , *.google.com.au , *.google.com.br , *.google.com.co , *.google.com.mx , *.google.com.tr , *.google.com.vn , *.google.de , *.google.es , *.google.fr , *.google.hu , *.google.it , *.google.nl , *.google.pl , *.google.pt , *.googleapis.cn , *.googlecommerce.com , *.gstatic.com , *.urchin.com , *.url.google.com , *.youtube-nocookie.com , *.youtube.com , *.youtubeeducation.com , *.ytimg.com , android.com , g.co , goo.gl , google-analytics.com , google.com , googlecommerce.com , urchin.com , youtu.be , youtube.com , youtubeeducation.com
(Error code: ssl_error_bad_cert_domain)
Note that we are using the SNI SSL certificate capability on Google App Engine with our uploaded certificate.
When we run SSL diagnostics via http://www.digicert.com/help/ we get the following:
Certificate does not match name feeltracker.com
Subject *.google.com
Valid from 02/Jul/2013 to 31/Oct/2013
Issuer Google Internet Authority
Subject Google Internet Authority
Valid from 12/Dec/2012 to 31/Dec/2013
Issuer Equifax
Any ideas why https://feeltracker.com fails to use the correct certificate, whereas www.feeltracker.com and http://www.feeltracker.com work as expected with our SSL certificate?
Update 16 Sept 2015
It appears this may now work as per Forum post and Issue 10802
Previously applicable info below...
Currently it's not supported. The naked domain redirect is a workaround only for http and you'll probably notice that specific IP addresses you need to be put in your DNS for that differ from the approach and IP addresses for ghs.googlehosted.com.
This seems to indicate that it's different parts of Google's infrastructure and they haven't yet managed to make them consistent or work together. I haven't seen any details on when they will resolve this so it might be a long wait. e.g. Related post from 2009
There is an "acknowledged" issue for Naked domain support so when that's fixed then likely this issue also resolved.
As Google is not going to correctly serve your certificate on their naked domain redirector then for now there are these options that I see:
Make/provide your own reverse proxy (Apache httpd, varnish etc) or use a reverse proxy service (eg. CloudFlare) and point your naked domain there. You'd install your SSL on the reverse proxy, clients would connect there for your naked domain (no certificate errors) and you'd proxy all traffic to your real site. It might create a single point of failure and costs depending what you use.
Rent a cheap VPS where you install a web server, your cert and a redirect script to https://www.feeltracker.com. In DNS map your naked domain to that server. It can be a really cheap linux server as requirements just to redirect are very low.
Find a domain redirect service that supports https and allows you to upload your certificate. Sadly I'm not aware of any.
Use VIP (Virtual IP) SSL and configure it in DNS for your naked domain. I haven't tested myself but it seems it should work, although I did find a old comment here that it may not. Has someone tested? NOTE however as far as I could see the DNS entry has a TTL of just 300 (5mins) and Google doesn't advise it, so even if it did work you might need some scripts to update your DNS entries as there's a strong chance it changes from time to time. If it does work then DNS providers like DNSSimple have an API so it would be possible.
Probably the second option is most applicable in your case as you don't seem to mind about the naked domain (which for many is an issue).
I recently found a good example: https://khanacademy.org/ They appear to use an Amazon EC2 host as per the second option above.
https://khanacademy.org/ Resolving khanacademy.org... 107.20.223.238
Connecting to khanacademy.org|107.20.223.238|:443... connected.
WARNING: cannot verify khanacademy.org’s certificate, issued by “/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certificates.godaddy.com/repository/CN=Go Daddy Secure Certification Authority/serialNumber=07969287”: Unable to locally verify the issuer’s authority. WARNING: certificate common name “*.khanacademy.org” doesn’t match requested host name “khanacademy.org”.
HTTP request sent, awaiting response... 301 Moved
Permanently Location: https://www.khanacademy.org/ [following]
https://www.khanacademy.org/ Resolving www.khanacademy.org...
72.14.249.132 Connecting to www.khanacademy.org|72.14.249.132|:443... connected.
whois 107.20.223.238
OrgName: Amazon.com, Inc.
OrgId: AMAZO-4
Address: Amazon Web Services, Elastic Compute Cloud, EC2
As of 12 April 2014 it looks like Google makes some progress and now allows mapping of non Google Apps domains (seeissue 8517), although SSL appears not to work for that method yet (see issue 10794 for tracking that).
Best free SSL redirect service I found was CloudFlare. To get it working:
Add your domain and switch your name servers to CloudFlare (signup process walks you through it)
Once added goto CloudFlare Settings and down to SSL. Change the setting to 'Full SSL (Strict)' this requires you to have a valid cert on the subdomain your redirecting to (SNI works fine).
Go back to your websites list, select the domain again and on the options goto page rules. Add a 'Forwarding' rule that redirects https://yourdomain.com/* to https://www.yourdomain.com/$1 (replace www with any subdomain), make sure the redirect is set to 301.
Save your settings and sit back and wait for everything to propagate.
Done. Free and secure SSL redirection for your naked domain.
I had to switch my domain management and nameservers from GoDaddy(G-Suite) to Cloudflare to solve this naked domain redirect issue. I followed Parkers instructions and used the free Cloudflare account and it worked after I turned the redirect rule off and then back on. I switch back from Full(strict) to Full because you now need to pay to upload your own SSL certificate. I am ok with the shared universal SSL certificate from Cloudflare for the time being.
GAE doesn't officially support naked domains. What you're seeing is a limitation of GAE, you're not doing anything wrong. https://developers.google.com/appengine/kb/general#naked_domain
Apparently naked domain redirect on HTTPS is not supported. There is no mentioning of this in official docs. If you look at support docs you see in screenshots that naked redirect specifically states http://.
Judging from Google Groups threads, SSL naked domain redirect is not possible: here, here.

Resources