AWS Route 53 y CloudFront
Redirige el tráfico /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. Tarda unos 15 minutos.
Requisitos previos
- Una cuenta de AWS con acceso a CloudFront y Route 53
- Tu dominio gestionado en Route 53 (o la posibilidad de actualizar el DNS en otro lugar)
- Tu subdominio de Jamdesk (disponible en la configuración del dashboard)
- Tu dominio personalizado registrado y verificado por DNS en el dashboard de Jamdesk
Si usas una subruta personalizada en lugar de la predeterminada /docs, reemplaza /docs/* en el patrón de ruta del comportamiento de caché (paso 3) por tu subruta. Actualiza la distribución de nuevo después de cualquier cambio de nombre en el dashboard.
Paso 1: Crear una distribución de CloudFront
- Abre la consola de CloudFront
- Haz clic en Create Distribution
- Configura el origen:
| Configuración | Valor |
|---|---|
| Dominio de origen | YOUR_SLUG.jamdesk.app |
| Protocolo | Solo HTTPS |
| Nombre | jamdesk-docs-origin |
Reemplaza YOUR_SLUG por tu subdominio real de Jamdesk.
Paso 2: Configurar los ajustes de origen
En los ajustes de origen, agrega encabezados personalizados para identificar tu dominio:
| Nombre del encabezado | Valor |
|---|---|
X-Forwarded-Host | yoursite.com |
X-Jamdesk-Forwarded-Host | yoursite.com |
Estos encabezados indican a Jamdesk qué dominio está haciendo la solicitud.
Este paso es obligatorio, y omitirlo falla silenciosamente. La política AllViewerExceptHostHeader (siguiente paso) solo reenvía los encabezados que envió el navegador de tu visitante — no agrega otros nuevos — por lo que X-Jamdesk-Forwarded-Host solo llega a Jamdesk como un encabezado personalizado de origen. Sin él, las solicitudes se siguen completando, pero las páginas sirven noindex con enlaces canónicos que apuntan a YOUR_SLUG.jamdesk.app en lugar de tu dominio.
Si ofreces varios nombres de dominio alternativos desde una sola distribución, los encabezados de origen estáticos no pueden variar por solicitud — usa una CloudFront Function en viewer request en su lugar, estableciendo request.headers['x-jamdesk-forwarded-host'] = { value: request.headers.host.value }.
Paso 3: Crear comportamientos de caché
Agrega comportamientos para enrutar /docs/* y las solicitudes de assets a tu origen de Jamdesk:
- Ve a la pestaña Behaviors
- Haz clic en Create Behavior
- Crea tres comportamientos con esta configuración:
| Patrón de ruta | Origen | Política de caché | Política de solicitud de origen |
|---|---|---|---|
/docs/* | jamdesk-docs-origin | CachingOptimized | AllViewerExceptHostHeader |
/_next/* | jamdesk-docs-origin | CachingOptimized | AllViewerExceptHostHeader |
/_jd/* | jamdesk-docs-origin | CachingOptimized | AllViewerExceptHostHeader |
Configura Viewer protocol policy en Redirect HTTP to HTTPS para las tres.
Los tres comportamientos son obligatorios: /_next/* y /_jd/* sirven el JavaScript, el CSS, las fuentes y las imágenes que cargan tus páginas de documentación. La política AllViewerExceptHostHeader reenvía los encabezados de solicitud del visitante (todo excepto Host, que CloudFront reserva para el origen) y debe configurarse en los tres.
Paso 4: Agregar un nombre de dominio alternativo
- En la pestaña General, haz clic en Edit
- En Alternate domain name (CNAME), agrega
yoursite.com - Selecciona o solicita un certificado SSL para tu dominio
Paso 5: Configurar 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:
| Configuración | Valor |
|---|---|
| Nombre del registro | yoursite.com (o dejar en blanco para el ápice) |
| Tipo de registro | A |
| Alias | Sí |
| Enrutar tráfico a | Distribución de CloudFront |
| Distribución | Selecciona tu distribución |
Paso 6: Verificar
Después de la propagación del DNS (normalmente de 5 a 15 minutos), visita https://yoursite.com/docs para confirmar que tu documentación se 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 Viewer protocol policy esté configurado en "Redirect HTTP to HTTPS" y que tu certificado SSL sea válido.
Crea una invalidación de CloudFront para /docs/* para borrar 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 configuración de origen - Verifica que tu dominio se asigne al proyecto correcto
El dominio debe estar verificado antes de que CloudFront pueda servir la documentación.
La verificación previa obtiene /_jd/preflight en tu dominio activo y comprueba qué llegó realmente a Jamdesk. Si indica 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 en el paso 2. Consulta Solo dominio personalizado para saber qué significa cada mensaje de la verificación previa.
