AWS Route 53 y CloudFront
Redirige el tráfico de /docs a través de AWS CloudFront y Route 53 hacia tu sitio Jamdesk. Incluye configuración de distribución, origen y reglas de caché.
Configura una distribución de CloudFront para redirigir /docs/* a tu sitio Jamdesk, con Route 53 para el DNS. Toma unos 15 minutos.
Requisitos previos
- Una cuenta de AWS con acceso a CloudFront y Route 53
- Tu dominio administrado en Route 53 (o la posibilidad de actualizar el DNS en otro lugar)
- Tu subdominio de Jamdesk (se encuentra en la configuración del dashboard)
- Tu dominio personalizado registrado y verificado por DNS en el dashboard de Jamdesk
Paso 1: Crea una distribución de CloudFront
- Abre la consola de CloudFront
- Haz clic en Create Distribution
- Configura el origen:
| Configuración | Valor |
|---|---|
| Origin domain | YOUR_SLUG.jamdesk.app |
| Protocol | HTTPS only |
| Name | jamdesk-docs-origin |
Reemplaza YOUR_SLUG con tu subdominio real de Jamdesk.
Paso 2: Configura los ajustes de origen
En los ajustes de origen, añade encabezados personalizados para identificar tu dominio:
| Nombre del encabezado | Valor |
|---|---|
X-Forwarded-Host | yoursite.com |
X-Jamdesk-Forwarded-Host | yoursite.com |
Estos encabezados le indican a Jamdesk qué dominio está haciendo la solicitud.
Este paso es obligatorio, y omitirlo falla de forma silenciosa. La política AllViewerExceptHostHeader (paso siguiente) solo reenvía los encabezados que envió el navegador de tu visitante — no añade otros nuevos — por lo que X-Jamdesk-Forwarded-Host solo llega a Jamdesk como un encabezado personalizado de origen. Sin él, las solicitudes igual tienen éxito, pero las páginas se sirven con noindex y enlaces canónicos que apuntan a YOUR_SLUG.jamdesk.app en lugar de tu dominio.
Si sirves varios nombres de dominio alternativos desde una misma distribución, los encabezados de origen estáticos no pueden variar por solicitud — usa una CloudFront Function en viewer request en su lugar, configurando request.headers['x-jamdesk-forwarded-host'] = { value: request.headers.host.value }.
Paso 3: Crea comportamientos de caché
Añade comportamientos para enrutar /docs/* y las solicitudes de recursos hacia tu origen de Jamdesk:
- Ve a la pestaña Behaviors
- Haz clic en Create Behavior
- Crea tres comportamientos con estos ajustes:
| Path pattern | Origin | Cache policy | Origin request policy |
|---|---|---|---|
/docs/* | jamdesk-docs-origin | CachingOptimized | AllViewerExceptHostHeader |
/_next/* | jamdesk-docs-origin | CachingOptimized | AllViewerExceptHostHeader |
/_jd/* | jamdesk-docs-origin | CachingOptimized | AllViewerExceptHostHeader |
Establece Viewer protocol policy en Redirect HTTP to HTTPS para los tres.
Los tres comportamientos son obligatorios: /_next/* y /_jd/* sirven el JavaScript, CSS, las fuentes y las imágenes que cargan tus páginas de documentación. La política AllViewerExceptHostHeader reenvía los encabezados de la solicitud del visitante (todo excepto Host, que CloudFront reserva para el origen) y debe configurarse en los tres.
Paso 4: Añade un nombre de dominio alternativo
- En la pestaña General, haz clic en Edit
- En Alternate domain name (CNAME), añade
yoursite.com - Selecciona o solicita un certificado SSL para tu dominio
Paso 5: Configura Route 53
Crea un registro de alias que apunte a tu distribución de CloudFront:
- Abre la consola de Route 53
- Selecciona tu zona alojada
- Haz clic en Create Record
- Configura lo siguiente:
| Configuración | Valor |
|---|---|
| Record name | yoursite.com (o déjalo en blanco para el ápice) |
| Record type | A |
| Alias | Yes |
| Route traffic to | CloudFront distribution |
| Distribution | Selecciona tu distribución |
Paso 6: Verifica
Después de la propagación del DNS (normalmente entre 5 y 15 minutos), visita https://yoursite.com/docs para confirmar que tu documentación carga correctamente.
Resumen completo de la configuración de CloudFront
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
├── Behavior: /_next/*
│ ├── Cache Policy: CachingOptimized
│ └── Origin Request Policy: AllViewerExceptHostHeader
├── Behavior: /_jd/*
│ ├── Cache Policy: CachingOptimized
│ └── Origin Request Policy: AllViewerExceptHostHeader
└── Alternate Domain: yoursite.com (with SSL certificate)
Solución de problemas
Asegúrate de que el dominio de origen sea exactamente YOUR_SLUG.jamdesk.app sin el prefijo https://.
Verifica que la Viewer protocol policy esté configurada en "Redirect HTTP to HTTPS" y que tu certificado SSL sea válido.
Crea una invalidación de CloudFront para /docs/* para limpiar el contenido en caché después de publicar cambios.
Si ves "Domain is not authorized to serve this content":
- Verifica que tu dominio esté registrado en el dashboard de Jamdesk
- Completa la verificación de DNS (registro TXT) para tu dominio
- Asegúrate de que los encabezados personalizados
X-Forwarded-HostyX-Jamdesk-Forwarded-Hostestén configurados en tu origen - Comprueba que tu dominio esté mapeado al proyecto correcto
El dominio debe estar verificado antes de que CloudFront pueda servir la documentación.
La comprobación preliminar obtiene /_jd/preflight en tu dominio activo y comprueba qué llegó realmente a Jamdesk. Si informa que tu proxy "no se identifica", CloudFront está llegando a Jamdesk pero sin X-Jamdesk-Forwarded-Host — vuelve a revisar el encabezado personalizado de origen del Paso 2. Consulta Solo dominio personalizado para saber qué significa cada mensaje de la comprobación preliminar.
