Skip to content

Commit 7fed536

Browse files
committed
updates guide based on feedback
1 parent 35bb4df commit 7fed536

File tree

1 file changed

+18
-24
lines changed

1 file changed

+18
-24
lines changed

content/docs/capabilities/custom-domains.mdx

+18-24
Original file line numberDiff line numberDiff line change
@@ -26,38 +26,21 @@ See the Clusters Concepts page for more information about clusters in Pomerium Z
2626

2727
## Custom Domains
2828

29-
In Pomerium Zero, a **Custom Domain** is a wildcard sub-domain you can use for Pomerium routes. After a one-time setup with your DNS provider, Pomerium will automatically provision and renew a TLS certificate for this sub-domain.
29+
In Pomerium Zero, a **Custom Domain** is a wildcard subdomain you can use to build routes in Pomerium. After adding the appropriate record to your DNS provider, Pomerium will automatically provision and renew a TLS certificate for this subdomain.
3030

31-
After you successfully add a custom domain to your cluster, Pomerium will automatically issue and renew X.509 wildcard certificates on behalf of the domain to secure the connection over TLS.
32-
33-
### Fully Qualified Domain Names
34-
35-
In the context of Pomerium Zero, an FQDN is the complete domain name of a custom domain. The example below resembles a valid custom domain, where `mycorp` is the subdomain and `example.com` is the domain name:
36-
37-
`mycorp.example.com`
38-
39-
If you build routes with this custom domain to upstream services with hostnames like `verify`, `internal-tool`, and `authenticate`, your routes would look like:
31+
For example, if you added a custom domain like `mycorp.example.com` to Pomerium Zero, you could build routes like:
4032

4133
- `verify.mycorp.example.com`
4234
- `internal-tool.mycorp.example.com`
4335
- `authenticate.mycorp.example.com`
4436

45-
### DNS validation
46-
47-
In order for Pomerium to issue certificates on behalf of a custom domain, you must prove that you control the domain name specified in the certificate through DNS validation. Per the [ACME protocol](https://datatracker.ietf.org/doc/html/rfc8555#section-2), Pomerium uses its own ACME client to communicate with Let's Encrypt, a free Certificate Authority, to validate a domain's DNS records.
48-
49-
Let's Encrypt provides several [challenge types](https://letsencrypt.org/docs/challenge-types/) to validate a domain, including the [DNS-01 challenge](https://letsencrypt.org/docs/challenge-types/#dns-01-challenge). At a high level, this challenge requires that either:
50-
51-
- A `TXT` record must be placed at `_acme-challenge.<YOUR_DOMAIN>`
52-
- Or, a `CNAME` record must be placed at `_acme-challenge.<YOUR_DOMAIN>` that points to another domain with the `TXT` record
53-
54-
Because Pomerium owns the `pomerium.app` subdomain, we can write the `TXT` record for you. All you need to do is point a **wildcard CNAME record** to your cluster's starter domain.
37+
## How to add a custom domain
5538

56-
Refer to the steps in [**How to add a custom domain**](#how-to-add-a-custom-domain) for specific instructions.
39+
Add a wildcard CNAME record that points to your starter domain. For example:
5740

58-
## How to add a custom domain
41+
`*.mycorp.example.com CNAME unique-jellyfish-3578.pomerium.app`
5942

60-
Add a wildcard CNAME record that points to your starter domain:
43+
In Google Cloud Platform, you can manage DNS records using the Cloud DNS interface:
6144

6245
![Add a CNAME record in GCP](../capabilities/img/custom-domains/gcp-cname-record.png)
6346

@@ -72,7 +55,7 @@ Add the custom domain in the Zero Console:
7255
1. Select **Settings**
7356
1. In the **Editing Clusters Settings** dashboard, select **Domains**
7457
1. In the **Custom Domains** field, select the **+** icon to add a domain name
75-
1. Enter your FQDN
58+
1. Enter your custom domain
7659

7760
![Entering the fully qualified domain name in the Zero Console](../capabilities/img/custom-domains/add-custom-domain.gif)
7861

@@ -83,3 +66,14 @@ If added successfully, you will be able to build routes with your custom domain
8366
You can also review the certificate in the **Certificates** dashboard:
8467

8568
![Review certificate details in the Certificate dashboard in the Zero Console](../capabilities/img/custom-domains/certificate-details.gif)
69+
70+
### How custom domains work
71+
72+
In order for Pomerium to provision certificates on behalf of a custom domain, you must prove that you control the domain name specified in the certificate through DNS validation. Per the [ACME protocol](https://datatracker.ietf.org/doc/html/rfc8555#section-2), Pomerium uses its own ACME client to communicate with Let's Encrypt, a free Certificate Authority, to validate a domain's DNS records.
73+
74+
Let's Encrypt provides several [challenge types](https://letsencrypt.org/docs/challenge-types/) to validate a domain, including the [DNS-01 challenge](https://letsencrypt.org/docs/challenge-types/#dns-01-challenge). At a high level, this challenge requires that either:
75+
76+
- A `TXT` record must be placed at `_acme-challenge.<YOUR_DOMAIN>`
77+
- Or, a `CNAME` record must be placed at `_acme-challenge.<YOUR_DOMAIN>` that points to another domain with the `TXT` record
78+
79+
Because Pomerium owns the `pomerium.app` subdomain, we can write the `TXT` record for you. All you need to do is point a **wildcard CNAME record** to your cluster's starter domain.

0 commit comments

Comments
 (0)