Google App Engine + Custom domain - google-app-engine

I was trying to map a custom domain name to site I have created in Google App Engine. However, the custom domain is not getting applied to the site. Below are the steps that I have performed after checking Google Help Sites and stackoverflow answers.
1. Created / Uploaded Google App Engine Site
http://myGoogleSite.appspot.com/
2. Purchased a domain name
mydomain.com
3. Created a CNAME Record with my domain name provider
Name: www
Value: ghs.google.com
4. Created a Google apps account
https://www.google.com/a/mydomain.com
5. Verified domain name in Google apps account
6. Enabled services for Google App Engine.
Added site http://myGoogleSite.appspot.com/ (Created in Step 1)
7. Google Admin Panel
Settings > Select Google App Engine site
Added New Web Address
http://www.mydomain.com
RESOLVED
The issue has been resolved without any other changes after a day. I think the CNAME entry which I had added in domain name server did get applied a day later. Though I had checked it through dnsstuff.com on the same day and they were reflected correctly.

If the CNAME www does not work when directed to ghs.google.com, try ghs.googlehosted.com instead. It's what at least some of their docs say.
For a company that can pretty accurately sift through millions of pages for related data, their documentation on their own products sucks hard.

The issue has been resolved without any other changes after a day. I think the CNAME entry which I had added in domain name server did get applied a day later. Though I had checked it through dnsstuff.com on the same day and they were reflected correctly

Related

Cannot add appengine app to google apps primary domain

I created an app engine app (deployed and working) that I want to add to my google apps primary domain.
I followed the directions in the app engine console (going through Administration -> Add Domain).
I typed my domain in and get to the page with the terms and services.
the page has the title:
You have requested that the ' YOUR_APP_ENGINE_SERVICE_HERE ' service be added to your domain
the url is https://admin.google.com/AdminHome?appId=YOUR_APP_ENGINE_SERVICE_HERE&chromeless=1#OGX:AddAppEngineService
I check the checkbox to accept the terms and services then click activate, after a few seconds I get back to the same terms and services page.
I get no errors that tell me anything.
If this helps my google apps account is one of the grandfathered free accounts (< 10 users).
Thanks
It ended up being a conflict with a google sites website id being the same as the appengine id (eventhough they were going to be into different subdomains). it created a conflict without error messages, so deleting the old site id did the trick

Using App Engine with a custom domain, without paying for Google Apps?

Can you use Google App Engine with your own custom domain, without paying for the whole Google Apps business package?
The setup instructions suggests this is not possible. Has anyone found a work around?
You no longer need google apps for using custom domain with GAE. you can use custom domains without signing up for Google Apps for Business.
go to https://console.developers.google.com and click on your
project and select appengine then click on settings
there you can add and verify your domain using Google Webmaster central
Once you're done verifying you're all set to go !
IF one has had a free Google Apps account prior to the December 2012 deadline, there does seem to be an easy solution to mapping a new GAE app to a newly registered domain. I happen to still have such prior account for which I do not have to pay (yet?), I believe. I suspect other long-term GAE developers are in a similar situations. So, I am adding quick instructions I found and translated from here. (There are many related threads on the topic on stackoverflow. This question seems the most relevant for adding these notes.)
Login to your existing Google Apps account
Go to "Domains" and hit "add a domain or a domain alias"
Keep "Add a domain alias of ..." selected and enter the new domain name in the field
Go through the required domain verification process
Now back on the main admin screen, hit "Google Apps" and click "add Services" (a box icon on the top right)
Under "Other Services" enter your GAE app ID
On the "Settings for " page coming up, hit "Add new URL"
Select the domain name added in Step 1+, adding a prefix such as "www" in front
Confirm and be done with it
Just done and verified. Works for me and I suspect the same procedure would work for any further domains the same way.
DISCLAIMER: Again, this is for people with a prior Google Apps account. However, it should also be relevant for people that paid for a single such account. This single account should then be sufficient to map multiple GAE apps to multiple domains, if you don't need an independent copy of the other Google apps goodies every time.
Starting June 15 and for a limited time, Google will offer a USD $50.00 App Engine credit for Google App Engine developers who have recently purchased a new Google Apps for Business domain account for their App Engine application.
To review the terms and conditions for this site and request a credit for an eligible application, please visit this site.
Here is the google groups discussion : https://groups.google.com/forum/?fromgroups#!topic/google-appengine/jC_K-YlmXhM
Quoting from the link above:
We are working on a solution that will make this process simpler for
developers and not require a paid subscription for Google Apps for
Business.
In the meantime, starting from June 15, we will offer a $50 App Engine
credit for developers who need to purchase a new Google Apps for
Business domain in order to associate a domain with an App Engine
account.
Actually there is one free solution, for people that don't have Google Apps account yet.
Go to AppEngine -> Application Settings -> Add domain -> Sign up for Google Apps
Start a free 30 day trial - Do not add the billing options
Setup your domain
Add the domain to your app engine project
When the 30 day trial expire the domain will still work.

Need add secondary domain to GAE application

I have an AppEngine app running at myappname.appspot.com, and I've added the URL status.domain1.com. However, the point of this whole project is have the app running at: status.domain2.com. We have domain1.com as the main domain associated with our Google Apps account, and domain2.com is linked that account as a active domain.
When I go to 'myappname (App Engine) settings' in our control panel, and I try to "Add new URL" as status.domain2.com, I get the error banner:
The term 'domain2.com' is not allowed.
This is even though 'domain2.com' is listed as one of the domains associated with our account, and available on the drop-down menu.
How can I get the VirtualHost status.domain2.com to work? We already have this domain on our Google Apps account, but Google Apps support can't help.
This question is similar to Google App Engine and domain name and
How do I point multiple domain names at a single Google App Engine application?, but in this case I'm able to add 'myname#domain2.com' as an administrator of the 'domain2.com' domain on Google Apps, and I have 'domain2.com' as a drop-down option when I do "Add new URL" but I still get an error.
This bug in GAE has me pulling my hair out. Wish I'd not gone this route.
In order to use status.domain2.com with app engine, you have to add it to your google apps account as a domain alias and not as an active domain.
Google does not make this easy to find out, but see the last paragraph of this page: http://support.google.com/a/bin/answer.py?hl=en&answer=182081

App Engine - Subdomain

I have deployed an application on Google App Engine and I want to link a Subdomian to that application.
I currently have a domain that is linked to a "live" site. from Google documentation I understand that i need to set up my domain with Google Apps:
To serve your app on a custom domain, the domain must be set up with Google Apps
(Source)
What exactly that mean?
I've looked in Google documentation and could get a clear idea...
Does that will effected my "live" site in some way?
just to clarify, www.mydomain.com - points a site that i own and i want sub.mydomain.com to point to my Google application.
You need to make a CNAME to forward to your app address.
Let's say your app address is https://yourapp.appspot.com, and you want sub.mydomain.com to forward to it, just do like below:
Please read THIS first, follow the steps until step 5. You'll need to type your mydomain.com in step 3, and type sub in step 5. After these, you'll some steps on how to Chang CNAME record, just follow:
set your host name to sub
Type: CNAME
IP address/host name: ghs.google.com.
Priority status: (whatever just make it's the number)
OK, and you'll visit your app by http://sub.mydomain.com, different hosting providers have different time to set it valid. :)
BTW, it'll not effect your "live" site in any way. As your main site use mydomain.com, and you just need sub.mydomain.com. What GAE said is that, if you want to set mydomain.com to your app, you need to set A type instead of CNAME type in your host. This domain hosting method includes more steps, you'll see GAE's doc that you found, and so it will effect your live site.
This means you have to register your domain with Google Apps here: https://www.google.com/a/cpanel/domain/new
You don't have to have your main website hosted on Google. Just how you arrange things is determined by how you configure your DNS which you will retain control of. Same for email you can have it delivered to Google Apps or not, depending on your DNS MX records.
You need to validate your ownership using webmasters by adding a txt record in you dns records, after that it will appears in the list of domains under App Engine > Settings > Custom domains.

How to use Google App Engine with my own naked domain (not subdomain)?

After hours of reading about and experimenting with DNS records I can access my Google App Engine app via these URLs:
myappid.appspot.com
www.myappid.myowndomain.example
What does not work:
myowndomain.example
www.myowndomain.example
I want to be able to serve my app directly off my domain and not a subdomain. I've seen apps that do this. Is there any way to do this without a URL redirect?
[Update April 2016] This answer is now outdated, custom naked domain mapping is supported, see Lawrence Mok's answer.
I have figured it out!
First off: it is impossible to link something like mydomain.example with your appspot app. This is considered a naked domain, which is not supported by Google App Engine (anymore). Strictly speaking, the answer to my question has to be "impossible". Read on...
All you can do is add subdomains pointing to your app, e.g myappid.mydomain.example. The key to get your top level domain linked to your app is to realize that www is a subdomain like any other!
myappid.mydomain.example is treated exactly the same as www.mydomain.example!
Here are the steps:
Go to appengine.google.com, open your app
Administration > Versions > Add Domain... (your domain has to be linked to your Google Apps account, follow the steps to do that including the domain verification.)
Go to www.google.com/a/yourdomain.example
Dashboard > your app should be listed here. Click on it.
myappid settings page > Web address > Add new URL
Simply enter www and click Add
Using your domain hosting provider's web interface, add a CNAME for www for your domain and point to ghs.googlehosted.com
Now you have www.mydomain.example linked to your app.
I wished this would have been more obvious in the documentation.
[update 2015-09-28] Now Google lets you add custom domains (including naked domains) and setup SSL without the need of Google Apps. For details refer to here: https://cloud.google.com/appengine/docs/using-custom-domains-and-ssl?hl=en
I just discovered today (as of 2014-04-11) a new custom domain settings page is available from Google Developers Console:
1. Go to https://console.developers.google.com/project
2. Click on your project
3. On the left click "App Engine"
4. Click "Settings"
There you go! You can configure custom domain without the need of Google App account!
[Update April 2016] This answer is now outdated, custom naked domain mapping is supported, see Lawrence Mok's answer.
See http://www.google.com/support/a/bin/answer.py?hl=en&answer=91077 for the details. Once you have signed up for Google Apps for Your Domain:
# Sign in to the Google App Engine admin console.
# Go to Administration > Versions
# Click the 'Add Domain...' button under Domain Setup.
# Enter your domain name in the 'Domain Name:' field
# Click 'Add Domain'. You will be directed to the Google Apps administrator console to complete the process.
# Log in to the Google Apps control panel with your administrator account.
# Accept the terms and specify the access URL you'd like to provide for your application.
# Click 'Accept
You can't use a naked domain, though, such as whatever.example (but www.whatever.example does work), because:
Due to recent changes, Google App Engine no longer supports mapping
your app to a naked domain. If your domain registrar supports URL
redirects, you can redirect from http://yourdomain.example to your app,
which can be served from domains like http://www.yourdomain.example or
http://appid.yourdomain.example.
as specified at http://www.google.com/support/a/bin/answer.py?answer=91080
If like me you have seen this message while trying to add 'www' as a subdomain inorder to get your own domain working:
'Already used, please remove previous
mapping first . '
The above process mentioned in other answers has changed slightly if you are using Google Apps for your domain.
You must now do this as well:
Google Apps -> Service Settings -> Sites. Click 'Web address mapping' and remove the 'www' mapping which has been added by default to Sites.
Then you can add the 'www' subdomain for your App engine app
see this link:
http://groups.google.com/group/google-appengine/web/deleting-existing-www-mapping-from-google-apps
Another solution which is given by Google is URL forwarding: http://www.google.com/support/a/bin/answer.py?hl=en-in&answer=61057
Google does offer naked domain redirection.
Login to your google apps account and select "manage this domain"
Navigate to Domain settings
Within Domain Setings, navigate to Domain names
There's a link that says "change the A record". Clicking that will give you the destination IPs for the A records you need to create.
Google does not provide an IP for us to set A record. If it would we could use naked domains.
There is another option, by setting A record to foreign web server's IP and that server could make an HTTP redirect from e.g domain.example to www.domain.example (check out GiDNS)
For App Engine in 2019, googles has made it easier to set up a custom domain.
Google App Engine -> Settings -> Custom Domains
Verify your domain
Select Your Domain Name Registra
Reminder: Use TXT Record with the value Google provides without a existing CNAME record, otherwise TXT Record will be override
Follow the steps on the page, which includes the configuration of your subdomain, CNAME Record, A Record, AAAA Record, and you'll be good to go.
Just managed to sort this finally after hours. The www subdomain was pointing to Sites, but the front end wasn't showing me that.
After taking the plunge and setting the CNAME to gwh.google.com, and enabling / disabling Sites a couple of times (see the comment from Rodrigo Moraes on http://groups.google.com/group/google-appengine/web/deleting-existing-www-mapping-from-google-apps) I was able to set the Sites address to use the www subdomain.
I was then able to change it away from using the www subdomain, at which point the appengine app allowed me to specify the www subdomain.
That is one dirty fix - basically turning on and off Sites until it works!
When you go to "Application Settings -> Add Domain" It will ask to select login account, probably you are already on gmail account so it will show gmail account as well, but you should use Google Apps account where you have mapped your custom domain.
You can redirect forward or mask your domain name in godaddy but I don't know about other hosting sites.Have a look on this link
Here is a tutorial from Google about mapping your App on custom domain: https://cloud.google.com/appengine/docs/domain?hl=FR
It should be the latest update. But please note these 2 things:
1- You may not find you App in the new developer console, then the only workaround for that is download your source code, create a new app from the new developer console and deploy it.
2- You find your App on the developer console, but under the Compute menu you may not find the App Engine Settings as mentioned in the tutorial, then you have to proceed the same as i explained in the first point (create another application)
I hope this helps !
You can create a custom domain (including naked domain) for your App Engine and you can also set up self managed SSL certificates there.
To use a custom domain, map the domain to your app, then update your DNS records. You can map a naked domain, such as example.com or a subdomain, such as subdomain.example.com. You can also use wildcards to map subdomains.
The steps to map custom domain to your application are following -
In Console,go to the Application settings tab of the App Engine Settings page
-->If you need to enable G Suite authentication then click Edit to modify the Google Accounts API Referrer-->In the Google Authentication drop-down menu, select G Suite domain, then add your domain such as example.com in the empty field.
Go to the Custom Domains tab of the App Engine Settings page--> Click on add custom Domain-->If your Domain is already verified then select it from the drop down menu-->click Continue.
If you haven't verified your domain yet, follow the steps below:
a) Select Verify a new domain from the drop-down menu.
b) Enter your naked domain name (such as "example.com") and click Verify.
c) Enter information in the Webmaster Central window that appears.
d) After you complete the steps in Webmaster Central, return to the Add a new
custom domain page in the Google Cloud Console.
In the Point your domain to (project-ID) section, specify the domain and subdomains that you want to map.We recommend mapping the naked domain and the www subdomain-->click Save mapping.
Sign in to your domain registrar web site and update your DNS records.
Please refer to the following link for detailed description of required steps -
https://cloud.google.com/appengine/docs/standard/python/mapping-custom-domains
You must try like this, Application Settings > Add Domain...

Resources