AWS Route 53 & CloudFront
Serve Jamdesk docs at a /docs subpath using AWS CloudFront and Route 53
Use Amazon CloudFront as a CDN to proxy documentation requests to Jamdesk. This guide covers setting up CloudFront with Route 53 for DNS.
Prerequisites
- An AWS account with CloudFront and Route 53 access
- Your domain managed in Route 53 (or ability to update DNS elsewhere)
- Your Jamdesk subdomain (found in dashboard settings)
Step 1: Create a CloudFront Distribution
- Open the CloudFront console
- Click Create Distribution
- Configure the origin:
| Setting | Value |
|---|---|
| Origin domain | YOUR_SLUG.jamdesk.app |
| Protocol | HTTPS only |
| Name | jamdesk-docs-origin |
Replace YOUR_SLUG with your actual Jamdesk subdomain.
Step 2: Configure Origin Settings
In the origin settings, add custom headers to identify your domain:
| Header name | Value |
|---|---|
X-Forwarded-Host | yoursite.com |
X-Jamdesk-Forwarded-Host | yoursite.com |
These headers tell Jamdesk which domain is making the request. The X-Jamdesk-Forwarded-Host header is required for domain verification.
Your domain must be verified in the Jamdesk dashboard before CloudFront will serve content. Complete the DNS verification process after adding your domain.
Step 3: Create a Cache Behavior for /docs
Add a behavior to route /docs/* requests to your Jamdesk origin:
- Go to the Behaviors tab
- Click Create Behavior
- Configure:
| Setting | Value |
|---|---|
| Path pattern | /docs/* |
| Origin | jamdesk-docs-origin |
| Viewer protocol policy | Redirect HTTP to HTTPS |
| Cache policy | CachingOptimized |
| Origin request policy | AllViewerExceptHostHeader |
The AllViewerExceptHostHeader policy is required. It forwards all headers except Host, allowing Jamdesk to receive the necessary request information.
Step 4: Add Alternate Domain Name
- In the General tab, click Edit
- Under Alternate domain name (CNAME), add
yoursite.com - Select or request an SSL certificate for your domain
Step 5: Configure Route 53
Create an alias record pointing to your CloudFront distribution:
- Open the Route 53 console
- Select your hosted zone
- Click Create Record
- Configure:
| Setting | Value |
|---|---|
| Record name | yoursite.com (or leave blank for apex) |
| Record type | A |
| Alias | Yes |
| Route traffic to | CloudFront distribution |
| Distribution | Select your distribution |
Step 6: Verify
After DNS propagation (usually 5-15 minutes), visit https://yoursite.com/docs to confirm your documentation loads correctly.
Complete CloudFront Configuration Summary
Distribution Settings:
├── Origin: YOUR_SLUG.jamdesk.app
│ ├── Custom Header: X-Forwarded-Host = yoursite.com
│ └── Custom Header: X-Jamdesk-Forwarded-Host = yoursite.com
├── Behavior: /docs/*
│ ├── Cache Policy: CachingOptimized
│ └── Origin Request Policy: AllViewerExceptHostHeader
└── Alternate Domain: yoursite.com (with SSL certificate)
Troubleshooting
Ensure the origin domain is exactly YOUR_SLUG.jamdesk.app without https:// prefix.
Verify the Viewer protocol policy is set to "Redirect HTTP to HTTPS" and your SSL certificate is valid.
Create a CloudFront invalidation for /docs/* to clear cached content after publishing changes.
If you see "Domain is not authorized to serve this content":
- Verify your domain is registered in the Jamdesk dashboard
- Complete DNS verification (TXT record) for your domain
- Ensure both
X-Forwarded-HostandX-Jamdesk-Forwarded-Hostcustom headers are set in your origin configuration - Check that your domain maps to the correct project
The domain must be verified before CloudFront can serve documentation.
