Programatically setting subdomain on Google app en

2019-03-22 08:16发布

I am having my application deployed to GAE with main domain www.mysite.com. When someone subscribe to my application, he will use email id username@company.com.

I want to capture the company from the email id, and set the url as company.mysite.com that will map to www.mysite.com. I think this can be done by using * wildcard CNAME on domain registrar cpanel. But, as per thread How to set dynamic subdomain cross server or in DNS setting we can't set wildcard domain with GAE.

So, my question is how should I do it programatically from email id so I don't have to manually set sub-domain for each company ? Can I use wildcard sub-domain on GAE or I need to do some research on route53 of AWS ?

Let me know if I am missing any info. Any help will be appreciated.

UPDATE: For your info, I have registered my domain from godaddy.

2条回答
Melony?
2楼-- · 2019-03-22 08:27

Instructions

  1. Sign up for AWS Route53
  2. In your new Route53 account, create a new Hosted Zone, the value being the domain you are hosting on GoDaddy (in your example, the zone name would be mysite.com)
  3. Now follow the steps here Under "Setting Nameservers for a Domain Name Registered with Us" >> "I have specific nameservers for my domains" (you'll put in the name server provided to you in step 2)
  4. Now, this domain needs to be a Google Apps domain, so if its not, sign up for Google Apps or add the domain to your existing Google Apps account.
  5. Go through the Custom Domain Setup Process but enter * as your subdomain in step 5
  6. Go back to your Route53 Console and Add a new record set to the Hosted Zone you made in step 2. Switch the Type to CNAME, enter * as the name, and the value should be set to ghs.googlehosted.com (or whatever is provided to you through the setup process in step 5)

That's just about it. You'll have to wait a bit for the DNS settings to properly propagate, but now wildcard.mysite.com should point to your app.

NOTE

This will allow ANY wildcard to point towards your app. See the notes under More About Wildcard Subdomain Mapping in the Custom Domain Setup Process page linked above. You can limit what subdomains are "allowed" in your app by processing the value in your app and returning 404 errors or the like for subdomains you do not want to acknowledge (in your use case, any value that is not a company name of a user who has signed up for your application)

查看更多
神经病院院长
3楼-- · 2019-03-22 08:47

In the meantime GAE has been updated and subdomain wildcard is now fully supported: Custom Domain docs.

That said, I also had problems with wildcards on godaddy. The wildcard on godaddy is ** but still did not work, I needed to add subdomains manually. By the way, I have not looked for a solution for this, I preferred to point nameservers elsewhere.

If you use webapp2 take a look at Domain and subdomain routing, looks interesting.

查看更多
登录 后发表回答