Skip to content
40 changes: 21 additions & 19 deletions umbraco-cloud/go-live/manage-hostnames/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@
* **Development environment** - `dev-snoopy.euwest01.umbraco.io`
* **Staging environment** - `stage-snoopy.euwest01.umbraco.io`

The hostnames contain the region on which your project is hosted. Currently, there are four options available when choosing a region for your Umbraco project:
The hostnames contain the region on which your project is hosted. The options available when choosing a region for your Umbraco project are:

* West Europe (euwest01),
* East US (useast01),
* South UK (uksouth01), and
* West Europe (euwest01)
* East US (useast01)
* South UK (uksouth01)
* Australian East (aueast01)
* Canada Central (cacent01)

To access the backoffice, add `/umbraco` at the end of the Live, Development, or Staging URL.

Expand Down Expand Up @@ -58,7 +59,7 @@

<summary>Former A and AAAA records</summary>

The following Records will become obsolete in the future. Refrain from using them.
The following Records are now obsolete, and remain here for documentation purposes.

* A Records
* `104.19.191.28`
Expand Down Expand Up @@ -115,16 +116,16 @@
You will need to **remove the old DNS entry** before the Cloudflare service generates a new certificate for your Hostname.
{% endhint %}

### Is your Domain hosted on your own Cloudflare account?
### Is your hostname managed/proxied in your own Cloudflare account?

Cloudflare is a popular DNS provider, which offers a variety of different services to improve performance and security. We also use it for DNS and Hostnames on Umbraco Cloud.

When adding a hostname to your project hosted on Umbraco Cloud, using your own Cloudflare account the process is slightly different.

1. Set Proxy Status to **DNS Only** when creating a _CNAME_ or _A-record_ for your hostname in Cloudflare.
2. Change Proxy Status to **Proxied** once your hostname is **Protected** on the Hostname page for your Cloud project. Also, make sure the website is accessible through the hostname.
2. Change Proxy Status to **Proxied** once your hostname is **Protected** on the Hostname page for your Cloud project.

The above is primarily relevant when you need to use specific Cloudflare services like Page Rules, Workers, and so on.
In order to minimize downtime you can also use the [hostname pre-validation method](hostname-pre-validation.md)

### Using Certification Authority Authorization (CAA) for your domain?

Expand Down Expand Up @@ -152,27 +153,28 @@

On the Professional and Enterprise plans, you can manually add your certificate to your project and bind it to one of the configured hostnames.

## Using your Web Application Firewall (WAF) on Umbraco Cloud
## Using a custom Web Application Firewall (WAF) or a proxy on Umbraco Cloud

If you need to use WAF in front of your Umbraco Cloud website this section will highlight some of the common configurations needed.
If you need to use a custom WAF or proxy in front of your Umbraco Cloud website this section will highlight some of the common configurations needed.

Check warning on line 158 in umbraco-cloud/go-live/manage-hostnames/README.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content. Raw Output: {"message": "[UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.", "location": {"path": "umbraco-cloud/go-live/manage-hostnames/README.md", "range": {"start": {"line": 158, "column": 1}}}, "severity": "WARNING"}

{% hint style="info" %}
Configuration may vary depending on which WAF you are using, so you should always consult your vendor for best practices and recommendations.
Configuration may vary depending on which WAF you are using, so you should always consult your vendor for best practices and recommendations or reach out to Umbraco Cloud Support.
{% endhint %}

In most cases, you need to ensure that the WAF and Umbraco Cloud are using the same certificate on the specific hostname. Custom certificates are a plan-specific feature on Umbraco Cloud, so make sure that you have access to upload certificates.
### Proxying to the custom hostname

* Make sure the hostname is pointing to Umbraco Cloud (dns.umbraco.io).
* Certificate issued for the actual hostname. A custom certificate is required for a WAF hostname.
* Be on a [plan](https://umbraco.com/products/umbraco-cloud/pricing/) that supports custom certificates.
If you can't point your hostname to dns.umbraco.io Umbraco Cloud won't be able to reissue a certificate for your hostname during future renewals (3 months). You can publish a DCV(domain control validation) record or use a custom certificate.

Check failure on line 166 in umbraco-cloud/go-live/manage-hostnames/README.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.Acronyms] 'DCV' has no definition. Raw Output: {"message": "[UmbracoDocs.Acronyms] 'DCV' has no definition.", "location": {"path": "umbraco-cloud/go-live/manage-hostnames/README.md", "range": {"start": {"line": 166, "column": 176}}}, "severity": "ERROR"}

Check warning on line 166 in umbraco-cloud/go-live/manage-hostnames/README.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content. Raw Output: {"message": "[UmbracoDocs.SentenceLength] Write shorter sentences (less than 25 words). For content inside note or warning blocks, add blank lines around the content.", "location": {"path": "umbraco-cloud/go-live/manage-hostnames/README.md", "range": {"start": {"line": 166, "column": 1}}}, "severity": "WARNING"}

When configuring the hostname and certificate on Umbraco Cloud it will be necessary to validate the hostname using a TXT record. This is needed because in most cases the WAF will hide that the website is running on Umbraco Cloud. This means that the usual domain ownership verification cannot be performed. This same approach can also be used to configure a hostname before updating the DNS for the hostname.
The DCV record is a CNAME record with key `_acme-challenge.<hostname>` pointing to `<hostname>.0df3da1ce1ef695a.dcv.cloudflare.com`.

Check failure on line 168 in umbraco-cloud/go-live/manage-hostnames/README.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.Acronyms] 'DCV' has no definition. Raw Output: {"message": "[UmbracoDocs.Acronyms] 'DCV' has no definition.", "location": {"path": "umbraco-cloud/go-live/manage-hostnames/README.md", "range": {"start": {"line": 168, "column": 5}}}, "severity": "ERROR"}
E.g.: www.example.com - CNAME `_acme-challenge.www.example.com` points to `www.example.com.0df3da1ce1ef695a.dcv.cloudflare.com`

Adding a hostname on a Cloud project is possible before a DNS change. It can take up to approx. 14 days before it's removed. That means that you have 14 days to add a TXT record in your DNS settings.
The DCV record will ensure that Umbraco Cloud can always issue the

Check failure on line 171 in umbraco-cloud/go-live/manage-hostnames/README.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.Acronyms] 'DCV' has no definition. Raw Output: {"message": "[UmbracoDocs.Acronyms] 'DCV' has no definition.", "location": {"path": "umbraco-cloud/go-live/manage-hostnames/README.md", "range": {"start": {"line": 171, "column": 5}}}, "severity": "ERROR"}

Reach out to support and they will assist you with the details needed to be in the TXT record. We will first be able to see what you need to add to the TXT record when you have added the hostname.
When configuring the hostname on Umbraco Cloud use the [hostname pre-validation method](hostname-pre-validation.md).

When that is added it should work immediately.
### Proxying to default Umbraco Cloud hostnames *.{region}.umbraco.io

You can proxy freely to the default Umbraco Cloud hostname. The application runtime will see *.{region}.umbraco.io as the application url. Multisite set-ups aren't supported when proxying to default hostnames.

Check warning on line 177 in umbraco-cloud/go-live/manage-hostnames/README.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐢 [UmbracoDocs.Names] Use 'URL' instead of 'url' for consistency. Raw Output: {"message": "[UmbracoDocs.Names] Use 'URL' instead of 'url' for consistency.", "location": {"path": "umbraco-cloud/go-live/manage-hostnames/README.md", "range": {"start": {"line": 177, "column": 135}}}, "severity": "WARNING"}

## [Rewrites on Umbraco Cloud](rewrites-on-cloud.md)

Expand Down
Loading