i am new for openshift apps, so i make an app in openshift website and i need to point a domain to its web address .
so my domain provider only allowed to set domain based on Website Nameservers . so i want to know is my Website Nameservers i openshift is static, or may be changing in future.
For example my site address is
app-mysite.rhcloud.com
and it's Nameserver is :
ns1.p23.dynect.net with IP 208.78.70.23
.so if i set my domain NS Recorde to ns1.p23.dynect.net it will work .and Nameserver of app-mysite.rhcloud.com will be change in future or no. (Because in openshift site they have said IP address of app-mysite.rhcloud.com maybe change do to server maintenance or ...)
The best way to configure custom domain names with your OpenShift applications is through the use of CNAME certs, see this post for more information https://www.openshift.com/blogs/domain-names-and-ssl-in-the-openshift-web-console. That being said providing the name of your domain provider might be helpful.
Your application IP will inevitably change since your application will unlikely stay on that node. Take a look at the article I mentioned earlier and if you follow those steps your custom domain should persist regardless of your application IP.
Related
I have this problem when forwarding www CNAME to a Google App Engine application. It's not working maybe I am missing something.
Is it possible to forward CNAME to Google App Engine without adding custom domain?
The documentation you linked actually contains the answer to your question: You have to add a custom domain to your app with a wildcard.
And here is the reason why you have to add every domain to your custom domain.
When you create a cname it will always point to ghs.googlehosted.com. My guess is that the servers behind that domain are one huge load balancer, but that's not really important here. What is important is, that before your HTTP request is made the DNS name is resolved to an IP address. The range of IP addresses is the same for all appengine apps, so the server doesn't know that this particular request is intended for your app. However with that IP address a TCP connection is opened to the server. Now you send a request like:
GET / HTTP/1.1
HOST: www.yourcustomdomain.com
The server looks at the HOST part and must decide which app this request should be forwarded to. But it cannot know that if you didn't add your domain to the custom domains of your project. There simply is no information about where to route that request. So the simple answer is:
Yes you must add all your custom domains to your project, but you could use wildcards
No it will not work without that step, because the Google infrastructure houses tons of apps and your app does not have a dedicated IP address by which it could be identified
I am asking this question here because it is my understanding that this is the official GAE support site.
The background:
I had a website, mysite.com, hosted on somehostingsite.net. Recently, I ported the website to GAE, mysite.appspot.com. This occurred just as the renewal fee from somehostingsite.net was coming due, so I cancelled the somehostingsite.net account. I haven't transferred my domain to another registrar.
The problem:
I want to set up my domain with Google Apps so that I can have a url like myapp.mysite.com. So, the verification process to verify my ownership of the domain name presupposes mysite is currently up and running. Mine isn't right now. However, my domain title is listed at OpenSRS but they do not provide DNS support.
The main issue: mysite.appspot.com is free, which is why I ported the website to it.
What is the best way to proceed to get my domain set up with GAE given my current circumstance?
"So, the verification process to verify my ownership of the domain name presupposes mysite is currently up and running."
Not quite: all you need is DNS for your domain up and running, and then you can create a DNS TXT record to verify your domain. See: http://support.google.com/a/bin/answer.py?hl=en&answer=60216
So it sounds to me like you need to get (configurable) DNS hosting set up somewhere. You're going to need that anyway because you need to set up a CNAME record in order to serve you App Engine App off of your domain.
I have a Silverlight app that run on a single server which also hosts the web service used for data access. This is a Service Reference in the project. A common issue is that someone browses to the app using an IP address rather than the machine name. This breaks because the app thinks this is a cross-site violation.
To access the web service we create a System.ServiceModel.ClientBase and assign is an address in the web.config file. So locally in dev this is localhost:xxxx, and in production is it the machine name. Or we could set it to the IP address, but then everyone would have to go to the app using IP address only.
Is there a good way to do this? One issue is that some people access the app internally where the machine has a good name, while others access it through a VPN where they may need to use IP. I would like for both to work.
FYI I had this same issue. silverlight application and wcf service running on same server, but when application is started using an ip address vs. application url, then cross domain problems occur. evidently these urls/ips are not resolved/matched locally so to the silverlight application, they look like different domains. My app is running as an application and couldn't be moved to root of iis web site for technical reasons which is required for a clientaccesspolicy.xml file or crossdomain.xml to work properly.
I solved it by adding an entry into the hosts file on the server with the ip address and name of the domain. This looks a bit strange since we are on the server pointed to by the ip address and the domain/machine name but it works.
Adding this locally in the hosts file evidently redirects all requests for the ip address to the server PRIOR TO making either the call to get the silverlight application or the call the wcf service, so they look the same no matter whether the application or the service is called using an ip address.
Hope this helps anyone else in the future.
FYI - this does not work with VMs
We use VMs for some functionality and I have found this just doesn't work when running clients from the VM. The VM manager must do something to the request before passing it through. Just thought I'd mention this for future use.
Have you tried creating a clientaccesspolicy.xml file?
http://msdn.microsoft.com/en-us/library/cc197955(v=vs.95).aspx
I setup a custom domain on GAE using the tutorial at aral balkan to access http;//app.apspot.com at http://app.com. (I can access the app at www.app.com)
The tutorial is pretty old(Sep 2008) and it mentions
Add four Hostnames for the naked
domain (i.e., yourdomain.com without
the www) and have them point to IP
addresses 216.239.32.21,
216.239.34.21, 216.239.36.21, and 216.239.38.21.
I added the required A names to my domain dns, but accessing app.com leads me to a Google 404 page
I have used naked to www redirection on blogger using a similar method(A names provided by Google Blogger Help) and it has worked for me(it still works). However apart from the article at aralbalkan.com, I have not come across an official source which says that naked to www domain redirection using these IPs works for domains on Google Apps(which GAE uses to manage custom domains).
My Question:
Does anybody use a similar method(A names pointing to Google IPs) to resolve www domains from naked domains for custom domains on GAE? If yes, are the IPs different or am I doing it wrong?
The alternate method that I can think of using is, getting a third party host and pointing the A name of app.com to the IP address of that third party host, followed by placing a 301 redirect script to www.app.com on that host.But that will require me to manage another hosting just for naked to www redirection.
If anyone knows of any easier methods to achieve naked to www redirection on custom domains for GAE, please help.
Update:
Thank you for the answers. If it can be of any help, I am using geoscaling.com for DNS. I have an everydns account too. The domain is on namecheap and namecheap offers a freedns option too.
Update 2
Switched back my dns to namecheap. I guess geoscaling.com does not offer a 301 url redirect(correct me if I am wrong), although it's still a great service. Namecheap offers a 301 URL redirect. Should start working in some time.
While it's true Google doesn't officially support naked domains, it is possible to make this work using your registrar's DNS and Domain Forwarding tools.
For example, http://conversionsupport.com is hosted on Google App Engine, and GoDaddy is where the DNS is managed. The naked domain redirects to the http://www.conversionsupport.com subdomain using a domain forwarding rule.
Requests for the naked domain result in a 301 redirect to the www subdomain. Some SEO resources claim that using one subdomain is better for ensuring search engines don't see your site's content as being duplicative. This 301 redirect should help ensure that both naked domain and www subdomain are treated the same.
Here is a resource for Setting up URL Forwarding in GoDaddy. Note that while this is intended for Google Sites, I have confirmed that it does work on Google App Engine apps.
UPDATE:
To clarify, the naked domain itself will redirect to the www subdomain. This means that if your users type http://example.com then they'll be redirected to http://www.example.com as is the case with my original example above.
From what I understand, most Google Apps accounts are partnered with GoDaddy. Here are the Instructions from GoDaddy Support on Domain Forwarding Using a 301 Redirect..
Naked domains are not supported on App Engine. You need to use www-redirects, as you suggest.
Naked domain (e.g. yourdomain.com) support for App Engine can be setup in three steps:
Setup a naked domain redirect to a subdomain of your choice (e.g. redirect mydomain.com -> www.mydomain.com). See the App Engine FAQ, which instructs you to configure the redirect via the Google Apps control panel for your domain.
Configure App Engine to serve traffic for your custom subdomain (e.g. www.yourdomain.com) via the Google Apps control panel.
(Optionally), setup SSL for your custom domain. This step is required if you which to serve https:// traffic, but not required if you only plan on hosting http:// content.
As nick says, naked domains are not supported by app engine.
On your point of easier methods to achieve naked to www redirection on custom domains... Some DNS hosts, (for example, dyndns.com) integrate that ability into their DNS control panel. You may check with your DNS provider to see if that is the case.
With all the changes over time, I wanted to post that GAE (at least at the time of this writing) DOES support naked domains. I have this working for wdydfun.com. Follow the directions as mentioned above by Fred Sauer and it will eventually work. I'd love to provide more detail on those steps, but things seem to change frequently. You'll have to click around a bit to find where to set stuff. With the DNS propagation time that can be a bit frustrating. I recommend running
dig ns <your url>
from the command line to help see what is going on. My "www" domain was resolving to ghs.google.com and my naked domain was resolving to dreamhost where the domain was registered. After filling out the extra "A" records from the google directions, the naked domain eventually started returning different information and it worked. If you are testing this out in a browser, it's worth mentioning that at the time of this writing webkit browsers seem to be pickier than mozilla. My DNS settings:
A 216.239.32.21
A 216.239.34.21
A 216.239.36.21
A 216.239.38.21
TXT google-site-verification=W0rC...fnQ
* CNAME ghs.google.com.
Yours will probably look similar. Unless the directions have changed again. The CNAME value changed since when I first set things up, so if what I'm writing here differs from the directions on Google, trust the directions on Google. HTH.
Naked domain mapping works from the Google Developers Console.
https://code.google.com/p/googleappengine/issues/detail?id=777
We have added support for custom domains for App Engine from the
Google Developers Console, meaning you can now associate a custom
domain without first associating that domain with Google Apps.
To access the feature, visit https://console.developers.google.com/
and you will find the option to add a custom domain under App Engine >
Settings.
NOTE: Currently we do not support SSL on custom domains created
through this method (although we expect to rectify this in a future
release). In the meantime, we continue to support SSL (via VIP or SNI)
for custom domains that are created through Google Apps, and we
continue to provide free HTTPS for all *.appspot.com domains.
Alternatively, you could follow below steps which solves this problem, for sure,
Ping the website you are wanting to forward to, in order to get the
IP address if you don't know it.
"Run"; CMD; "ping yourwebsite.com"
Will display ping data and reply from IP address. Note this address.
Login to Godaddy.com to manage your account or other domain registry
site
Go to DNS Control Modify/Add "A Host"
Under "Host" enter: #
Under "Points To" Enter the IP Address you obtained earlier.
You are done! Site is forwarded without the www prefix when entered into
address bar.
More details and reference :
http://www.techproceed.com/2014/05/custom-domain-setup-on-blogger-with.html
I am in the process of porting some sites from my own server to Google (GHS). I've always used ZoneEdit to manage my DNS needs and in the past - wrongly or rightly - configured it so that:
domain.com and www.domain.com pointed to: <my known ip address>
With the www sub-domain all is fine and it (www.domain.com) resolves to ghs.google.com (via a CNAME entry) and the site is displayed.
However, if I try and reach the bare domain (domain.com) FF states it is unable to establish a connection. I assume this is because my DNS configuration has no A ip-address entry for it anymore.
I was considering forwarding any URL from domain.com to www.domain.com, although possible ZoneEdit is not recommending it I think because I telling it to only forward requests for http://domain.com and leave http://www.domain.com as it is (i.e CNAME configured).
Am I handling this the best way?
Please advise.
You could also add your vote to Issue 777: Officially Support Naked Domains for GAE Apps to ask Google to support naked domains. That way you would also be able to use http://domain.com as a valid address for your App Engine application.
According to the article on URL forwarding in the Google Apps Help, forwarding your naked domain to the www domain is the best way to handle it.
And then you leave the CNAME record for the www domain to point to ghs.google.com, as you already have done.
You can also look at the post 'Naked' domains on App Engine by Nick Johnson
Now there is a direct way within Google Apps to do this.
It is located in Gooogle Apps > Domain Settings > Domain Names
https://www.google.com/a/cpanel/yourwebsite.com/DomainSettingsDomains
Requisite : Your 'A' Records should point to the google server.
How it works?
User types yourwebsite.com
DNS sends it to the server whose IP is mentioned in the A Record
That server (Googles host server), takes the domain name and
redirects to www.yourwebsite.com (or the sub-domain / link you
specify)
User reaches www.yourwebsite.com
From there you know ...
The naked to www redirection in Google Apps is broken, or at least it is for some of my apps. If Google Apps uses eNom, the redirection works properly, but if it uses GoDaddy, it will not carry forward the path (e.g. domain.com/this/is/path will redirect to www.domain.com). The fix is to use 3rd party DNS.
I think that now Google Apps has a built-in feature for forwarding of naked domains. You just go to "Domain Settings" tab in Google Apps management panel. There you click "Domain Names" sub-tab. Enter the destination where to forward your naked domain. Then you make changes to DNS, adding A record for your domain to Google provided IP. That's it.