Alpha Cloud - Alpha Anywhere Developer's Guide
Understanding Domain Names
Host Names Automatically Generated By Alpha Cloud
Custom Domains and Host Name
Updating Your Alpha Cloud Web Site With Your Custom Host Name
A Special Note About Host-less URLs
Internet resources, such as web sites, are located using a numeric identifier called an IP address. In order to make it easier to find and remember those addresses and make it possible to change addresses easily, a naming registry is used called the Domain Name System. A domain name is a string of labels separated by dots in a very specific format (discussed below). A host name is a string of labels separated by dots in a very specific format (discussed below) combined with a domain name.
The domain name system is organized hierarchically. There are a number of variations in how that hierarchy is laid out. The most common cases are as follows:
- At the very top is the root domain.
- Directly beneath the root domain are top-level domains such as "com", "net", "org", "gov", "mil", and "edu" (Note that each country can have its own hierarchy, so that adds a little complexity that we won't discuss here.)
- Companies, organizations and even individuals register a subdomain name (often referred to as a domain) at the next level (under a top-level domain). Some examples of registered domains that are well known include amazon.com, google.com, and of course alphasoftware.com.
- Under a domain can be more nesting of subdomains (for example organizations within a company). This hierarchy can contain up to 127 levels with each part being up to 63 characters (octets) long. The entire domain name cannot exceed 253 characters of text.
- The final component of the domain name is a specific server or a service name. For example "www" and "ftp" can be used to designate a web server or an FTP server. You can also specify the name of a machine as the final component of the hierarchy.
The full host name, used to look up the internet address of a server or service, is formatted by combining all of the parts and separating each of them with a dot. The host name is formatted from the bottom of the hierarchy to the top. This means that the service or machine name is on the left followed by its parent subdomain and so on up to the top-level domain name.
Note: The names are usually represented in lower case, although the host name system is case-insensitive.
Alpha Cloud automatically generates a host name entry suitable for testing your deployed web site from the internet. To keep the name fairly readable and predictable, Alpha Cloud generates the name as follows:
- Subscription Keys - For each subscription, a readable key is generated from the customer name and the subscription name that is guaranteed to be unique across Alpha Cloud. For example, if your company name is "MyCompany" and you have only one subscription, your subscription key might be "mycompany". Once the subscription key is generated, it is kept constant.
- Web Site Keys - For each web site within a subscription, a readable key is generated from the web site name that is guaranteed to be unique within the subscription. For example if your web site name is "Production", your web site key might be "production". Again, once the site key is generated, it is kept the same for a web site.
- Host Names - For each web site you deploy, a host name is generated using the subscription key, the web site key and the Alpha Cloud subdomain in the format below:
<subscription key>-<web site key>.<Alpha Cloud subdomain>
Note: The names used in this example are illustrative only. From within Alpha Anywhere you can find the current URL for any web site or deployment on the dialogs where you manage them.
Although it can be handy for small in-house applications and for testing, the name generated by Alpha Cloud is long and difficult to type. The automatically generated name is also not part of your domain.
For a production site, you will want to register a domain, set up a domain name for your deployed web site and purchase a TLS (also called SSL) certificate (discussed in Alpha Cloud Certificates).
To register a domain, you will need to work with a registrar. There are many registrars available. While we cannot recommend any specific registrar, some of the more commonly used include GoDaddy, Network Solutions, Register.com, Domain.com, and Yahoo. Each registrar will have their own signup process so you will want to start with their web site and proceed from there.
Once you have registered your domain, you will need to create a host name for your site (the name that you want your users to enter as part of the URL for your web site). The most common prefix for a web site is, of course, "www". If this interferes with another site on your domain, you can create an alternative host name or create a new domain specific to your deployed web site.
You will need to work with your DNS provider to create a link between your domain name and the actual site running on Alpha Cloud. This is done by creating a record in the DNS system that connects the name you want your customers to use and the host name Alpha Cloud generates for you. Your DNS provider and your domain registrar may be the same, or separate entities. If you are unsure, ask your domain registrar.
Mapping your custom host name to your Alpha Cloud web site host name will require that your DNS provider create a record in their system. DNS providers generally support several different record types for host name management and mapping. The more common mapping records are:
- A Records
- The A record maps a host name directly to an IP version 4 address (IPv4). Using an A record saves a step in the translation from a host name to an IP address, but at the cost of flexibility. Alpha Cloud can not guarantee that an IP address will be constant over time, so this option is not currently available.
- AAAA Records
- The AAAA record maps a host name directly to an IP version 6 address (IPv6). Using an AAAA record saves a step in the translation from a host name to an IP address, but at the cost of flexibility. Alpha Cloud does not guarantee that an IP address will be constant over time, so this option is not currently available.
- CNAME Records
- The CNAME record maps a host name to another host name rather than an IP address. In our example your host name might be "www.mycompany.com". You would want to map "www.mycompany.com" to "mycompany-production.cloud.alphasoftware.com".
You will need to use a CNAME record to map your custom host name to Alpha Cloud's generated host name.
Your DNS provider will need to know the full host name that your customers will use in URLs for your web site and the host name that your new CNAME record needs to point to (the "value" field). You can find the target host name Alpha Cloud generated for you on the "Manage Web Sites" dialog. It is labeled "Web Paths:". It will look something like:
The host name you need to provide to your registrar as the target starts after the "http://" at the beginning and becomes:
In this case, if you are using "www.mycompany.com" as your host name, it would point to "mycompany-production.cloud.alphasoftware.com".
After creating the CNAME record for your custom host name, be sure to update the web site entry in Alpha Cloud with your new custom host name. You will set the "Host Name" field on the web site dialog (in this case to "www.mydomain.com").
For information on updating your web site see Managing Web Sites.
Note: To enable TLS (also called SSL) for your new custom host name you will need to purchase a TLS (also called SSL) certificate and upload it to Alpha Cloud. This is discussed in the section Alpha Cloud Certificates.
There is a popular trend toward URLs with a format of "https://mydomain.com". This simplifies access to a web site because the user does not need to type in the "www" prefix or other host name, simply the domain name and top level domain. Unfortunately, there is no standard way of implementing this and how this it accomplished will depend on the vendor. We discuss some approaches below. If your vendor is not included, you will need to contact them to see how this is done.
Because the IP address (something like 192.168.0.1) may change from deployment to deployment or through changes in the platform configuration, we recommend using a CNAME type record for DNS. These records are set up by using a host name (such as www) and result in a URL with a host name prefixed (such as "https://www.mydomain.com". You can use any valid name for the host.
The CNAME record then points to the Alpha Cloud generated URL that is built from your subscription name and the name of your web site, such as "https://mysubscription-mywebsite.cloud.alphasoftware.com".
The domain itself generally points to an IP address by using an A type record. In fact, an A type record can only point to an IP address. You may also see an AAAA type record. This record type is similar to A type records except that the target is an IPV6 address (version 6 address format). Because we are using DNS name linking, these record types are not used.
A number of DNS providers have implemented custom solutions to allow you to point to a URL from the domain itself.
Vendor Specific Solutions
You can accomplish this using a facility called forwarding on GoDaddy.
Follow the instructions below. In step 6, select Permanent (301) for redirection.
Forward my GoDaddy domain
Note: GoDaddy forwarding only works with the HTTP scheme (not HTTPS), so you will need to set the full url to something like "http://mydomain.com" or you will get a browser timeout.
Cloudflare is an industrial strength service that has a number of options for configuring and routing DNS.
There are options to redirect a domain.
You can follow the steps at Create Single Redirect to create a redirect for mydomain.com to www.mydomain.com.
For more information go to the web site below.
Cloudflare Get Started
Something not specifically mentioned in that page, but that is strictly required, is that the A record for the apex is set up as "Proxied" in Cloudflare, not "DNS only".
Below is an example of the Redirect Rules dialog in Cloudflare's console:
DNSimple implements a feature called an ALIAS type record. This record looks like a CNAME record, but the key is not a host, but the domain itself.
For more information go to the web site below and log in, then search for ALIAS in the help icon toward the bottom right of the page.
Note: In order to match the certificate you upload to Alpha Cloud, make sure you use the host name entered by the user unless your vendor specifies otherwise.