Resources for Developers

Custom Domain Name

Scalingo provides a subdomain of scalingo.io for all applications to access your application. Of course, you may want to use your own domain name. This operation requires different configuration operations:

Buy a domain name

We do not sell domain names. You can buy one from a company which sells them (called registrar) such as:

  • DNS Simple - https://dnsimple.com/
  • OVH - https://www.ovh.com
  • Gandi - https://www.gandi.net

You can find an exhaustive list of registrars on the ICANN website. The process is pretty similar with any of these services. You search for the availability of the domain and if it is available, you can buy it per year.

Configure your application

Let’s say you bought the domain name example.com. You first need to configure your Scalingo application to accept requests to this domain. You can achieve this with our CLI, or through our dashboard.

Using our CLI

scalingo --app my-app domains-add <domain name>

Using the web dashboard

Go to the ‘Domains’ tab of your app dashboard, fill the ‘Domain Name’ text field and validate by clicking on ‘Link domain name to the app’.

Configure your domain name

After having bought a domain name you need to configure it. Most of the registrars provide a web dashboard to do so. To target your application hosted on Scalingo, you need to create a CNAME field targeting the fully qualified domain name (FQDN) my-app.scalingo.io.

Example

The raw configuration line to create an alias between www.example.com and my-app.scalingo.io is:

NAME   TTL      TYPE  FIELD    TARGET
www    10800    IN    CNAME    my-app.scalingo.io.

After this configuration is completed, a Let’s Encrypt certificate is automatically generated for your application.

Root domain

Most of the registrars only allow A field for root domains. However A should target an IP. As Scalingo don’t ensure that our front IP addresses won’t change over time, we advise you to use a subdomain for your application or to migrate your domain name to another DNS provider.

Some providers allow to create ALIAS, ANAME or CNAME field for root domains:

  • DNSimple (ALIAS)
  • DNS Made Easy (ANAME)
  • easyDNS (ANAME)
  • CloudFlare (CNAME)
  • PointDNS (ALIAS)

If you want to keep your registrar which is not compatible with root domain aliases, you can create a A field targeting our web entry point 185.60.151.19. This IP may change in the future, in this case you’ll get an email at least 30 days in advance to let you know you have to change your domain configuration.

Wildcard domain

App configuration

You may want to redirect all subdomains of your domain to a specific Scalingo application. To achieve this you’ve to add a domain name with the form:

  • *.example.com
  • *.subdomain.example.com

Then all requests targeting for instance www.example.com or admin.example.com will be redirected to this specific application.

Priorities

If an application has the wildcard domain *.example.com configured and that another application is using admin.example.com, the wildcard will not override the admin subdomain. Actually, any complete subdomain will have priority over the wildcard.

DNS configuration

If you need to redirect all the subdomains to Scalingo servers, you need to setup your DNS accordingly, it’s really close to configuring a single domain name:

NAME   TTL      TYPE  FIELD    TARGET
*      10800    IN    CNAME    my-app.scalingo.io.

Note

When you add an alias, we don’t do any prior verification. If you cannot add your alias because it’s already taken on Scalingo and you think you’re legit to use it, send an email to support@scalingo.com describing the problem.

Canonical domain

After defining multiple domains on an application, one can need to redirect all requests towards its application to a specific domain. This domain is called the canonical domain. The canonical domain can be defined in the Settings tab of the dashboard.

Note that when a wildcard domain is defined for an application, a second domain must be added to be set as canonical. For instance, let’s say that *.example.com is in the list of domains of an app. If www.example.com is the wanted canonical domain, it must be added to the list of domains to be selectable as a canonical domain.

The redirection to the canonical domain will be made with a HTTP 301 status code.


mode_edit Suggest edits