Files
mintlify__docs/es/deploy/route53-cloudfront.mdx
mintlify[bot] 131cfda71c Apply SEO and metadata best practices (#6755)
* docs: clarify Route 53 and CloudFront page title for SEO

* docs: clarify Route 53 and CloudFront titles in es/fr/zh translations

---------

Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
2026-07-27 15:34:26 -07:00

266 lines
12 KiB
Plaintext

---
title: "Despliega en una subruta con AWS Route 53 y CloudFront"
sidebarTitle: "AWS"
description: "Despliega tu documentación de Mintlify en una subruta en AWS usando Route 53 para el enrutamiento DNS y CloudFront como CDN con funciones Lambda@Edge."
keywords: ["implementación en AWS", "Route 53 DNS", "CloudFront CDN", "políticas de caché"]
---
import Propagating from "/snippets/es/custom-subpath-propagating.mdx";
import SubpathSetupSteps from "/snippets/es/subpath-setup-steps.mdx";
Para alojar tu documentación en una subruta como `yoursite.com/docs` con AWS Route 53 y CloudFront, debes configurar tu proveedor de DNS para que apunte a tu distribución de CloudFront.
Antes de configurar AWS, define tu ruta base en tu dashboard:
<SubpathSetupSteps />
<div id="overview">
## Descripción general
</div>
<Note>
Los siguientes ejemplos usan la ruta base `/docs`. Si utilizas otra ruta base, reemplaza `/docs` por la tuya.
</Note>
Dirige el tráfico a estas rutas con una política de caché **CachingDisabled**:
- `/.well-known/acme-challenge/*` - Obligatorio para la verificación de certificados de Let's Encrypt
- `/.well-known/vercel/*` - Obligatorio para la verificación del dominio
- `/docs/*` - Obligatorio para el enrutamiento por subruta
- `/docs/` - Obligatorio para el enrutamiento por subruta
- `/_mintlify/*` - Obligatorio para las solicitudes del playground de API
Dirige el tráfico a estas rutas con una política de caché **CachingEnabled**:
- `/mintlify-assets/*` - Obligatorio para CSS, JavaScript y favicons
- `Default (*)` - La página de inicio de tu sitio web
Todos los comportamientos (Behaviors) deben tener una **origin request policy** de `AllViewerExceptHostHeader`.
Los comportamientos de tu subruta deben permitir todos los métodos HTTP. CloudFront solo permite solicitudes `GET` y `HEAD` de forma predeterminada, lo que bloquea las solicitudes `POST` que Mintlify usa para analíticas y otras funciones interactivas.
![Página de CloudFront "Behaviors" con 4 behaviors: `/docs/*`, `/docs`, `Default` y `/.well-known/*`.](/images/cloudfront/all-behaviors.png)
<div id="create-cloudfront-distribution">
## Crear una distribución de CloudFront
</div>
1. Navega a [CloudFront](https://aws.amazon.com/cloudfront) en la consola de AWS.
2. Selecciona **Create distribution**.
<Frame>
![Página de CloudFront Distributions con el botón «Create distribution» resaltado.](/images/cloudfront/create-distribution.png)
</Frame>
3. En Origin domain, ingresa `[SUBDOMAIN].mintlify.site`, donde `[SUBDOMAIN]` es el subdomain único de tu proyecto.
<Frame>
![Página «Create distribution» de CloudFront mostrando «acme.mintlify.site» como Origin domain.](/images/cloudfront/origin-name.png)
</Frame>
4. En «Web Application Firewall (WAF)», habilita las protecciones de seguridad.
<Frame>
![Opciones de Web Application Firewall (WAF) con «Enable security protections» seleccionado.](/images/cloudfront/enable-security-protections.png)
</Frame>
<Note>
Las reglas de WAF pueden bloquear las solicitudes `POST` que Mintlify usa para analíticas y otras funciones interactivas. Si las analíticas dejan de aparecer en tu panel después de habilitar WAF, revisa los registros de WAF en busca de solicitudes bloqueadas a rutas bajo `/docs/_mintlify/`.
</Note>
5. Deja el resto de la configuración con los valores predeterminados.
6. Selecciona **Create distribution**.
<div id="add-default-origin">
## Agregar origen predeterminado
</div>
1. Después de crear la distribución, ve a la pestaña &quot;Origins&quot;.
<Frame>
![Una distribución de CloudFront con la pestaña "Origins" resaltada.](/images/cloudfront/origins.png)
</Frame>
2. Busca tu URL de staging que refleje el dominio principal. Esto varía según el proveedor de alojamiento de tu página de inicio. Por ejemplo, la URL de staging de Mintlify es [mintlify-landing-page.vercel.app](https://mintlify-landing-page.vercel.app).
<Info>
Si Webflow aloja tu página de inicio, usa la URL de staging de Webflow. Se verá como `.webflow.io`.
Si usas Vercel, usa el domain `.vercel.app` disponible para cada proyecto.
</Info>
3. Crea un nuevo Origin y agrega tu URL de staging como el &quot;Origin domain&quot;.
<Frame>
![Página de CloudFront "Create origin" con el campo de entrada "Origin domain" resaltado.](/images/cloudfront/default-origin.png)
</Frame>
Ahora deberías tener dos Origins: uno con `[SUBDOMAIN].mintlify.site` y otro con tu URL de staging.
<Frame>
![Página de CloudFront "Origins" con dos orígenes: uno para mintlify y otro para mintlify-landing-page.](/images/cloudfront/final-origins.png)
</Frame>
<div id="set-behaviors">
## Configurar comportamientos
</div>
Los comportamientos en CloudFront permiten controlar la lógica de subrutas. A grandes rasgos, queremos implementar la siguiente lógica:
- **Si un usuario llega a tu subruta personalizada**, redirigir a `[SUBDOMAIN].mintlify.site`.
- **Si un usuario llega a cualquier otra página**, redirigir a la página de inicio actual.
1. Ve a la pestaña "Behaviors" de tu distribución de CloudFront.
<Frame>
![Pestaña "Behaviors" de CloudFront resaltada.](/images/cloudfront/behaviors.png)
</Frame>
2. Selecciona el botón **Create behavior** y crea los siguientes comportamientos.
<div id="well-known">
### `/.well-known/*`
</div>
Crea comportamientos para las rutas de verificación de domain de Vercel con un **Patrón de ruta** de `/.well-known/*` y establece **Origin and origin groups** en la URL de tu documentación.
Para "Cache policy", selecciona **CachingDisabled** para garantizar que estas solicitudes de verificación se procesen sin caché.
<Frame>
![Página de CloudFront "Create behavior" con un "Path pattern" de "/.well-known/*" y "Origin and origin groups" apuntando a la URL de staging.](/images/cloudfront/well-known-policy.png)
</Frame>
<Info>
Si `.well-known/*` es demasiado genérico, puedes acotarlo a un mínimo de 2 comportamientos para Vercel:
- `/.well-known/vercel/*` - Obligatorio para la verificación de domain de Vercel
- `/.well-known/acme-challenge/*` - Obligatorio para la verificación del certificado de Let's Encrypt
</Info>
<div id="your-subpath">
### Tu subruta
</div>
Crea un comportamiento con un **Path pattern** de la subruta que elijas, por ejemplo `/docs`, con **Origin and origin groups** apuntando a la URL `.mintlify.site` (en nuestro caso `acme.mintlify.site`).
- Establece "Cache policy" en **CachingDisabled**.
- Establece "Origin request policy" en **AllViewerExceptHostHeader**.
- Establece "Viewer protocol policy" en **Redirect HTTP to HTTPS**.
- Establece "Allowed HTTP methods" en **GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE**.
<Warning>
CloudFront solo permite solicitudes `GET` y `HEAD` de forma predeterminada. Si no permites todos los métodos HTTP, CloudFront rechaza las solicitudes `POST` que Mintlify usa para analíticas, y tu panel no mostrará ninguna vista de página aunque tu documentación se cargue normalmente.
</Warning>
<Frame>
![Página "Create behavior" de CloudFront con un "Path pattern" de "/docs/*" y "Origin and origin groups" apuntando a la URL `acme.mintlify.site`.](/images/cloudfront/behavior-1.png)
</Frame>
<div id="your-subpath-with-wildcard">
### Tu subruta con comodín
</div>
Crea un comportamiento con un **Path pattern** que sea la subruta que elijas seguida de `/*`, por ejemplo `/docs/*`, y con **Origin and origin groups** apuntando a la misma URL `.mintlify.site`.
Esta configuración debe coincidir exactamente con el comportamiento de tu subruta base, con la excepción de **Path pattern**.
- Establece "Cache policy" en **CachingDisabled**.
- Establece "Origin request policy" en **AllViewerExceptHostHeader**.
- Establece "Viewer protocol policy" en **Redirect HTTP to HTTPS**.
- Establece "Allowed HTTP methods" en **GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE**.
<div id="mintlify-assets">
### `/mintlify-assets/*`
</div>
Crea un comportamiento con un **Path pattern** de `/mintlify-assets/*` con **Origin and origin groups** apuntando a la URL `.mintlify.site`. Esta ruta sirve el CSS, JavaScript y favicons de tu documentación desde la raíz de tu dominio.
- Establece "Cache policy" en **CachingOptimized**.
- Establece "Origin request policy" en **AllViewerExceptHostHeader**.
- Establece "Viewer protocol policy" en **Redirect HTTP to HTTPS**.
<div id="_mintlify">
### `/_mintlify/*`
</div>
Crea un comportamiento con un **Path pattern** de `/_mintlify/*` con **Origin and origin groups** apuntando a la URL `.mintlify.site`. Esta ruta gestiona las solicitudes del playground de API desde la raíz de tu dominio.
- Establece "Cache policy" en **CachingDisabled**.
- Establece "Origin request policy" en **AllViewerExceptHostHeader**.
- Establece "Viewer protocol policy" en **Redirect HTTP to HTTPS**.
- Establece "Allowed HTTP methods" en **GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE**.
<div id="default">
### `Default (*)`
</div>
Edita el comportamiento de `Default (*)`.
<Frame>
![Una distribución de CloudFront con el comportamiento "Default (*)" seleccionado y el botón Edit resaltado.](/images/cloudfront/default-behavior-1.png)
</Frame>
1. Cambia **Origin and origin groups** del comportamiento predeterminado a la URL de staging (en nuestro caso, `mintlify-landing-page.vercel.app`).
<Frame>
![Página de CloudFront "Edit behavior" con el campo de entrada "Origin and origin groups" resaltado.](/images/cloudfront/default-behavior-2.png)
</Frame>
2. Selecciona **Guardar cambios**.
<div id="check-behaviors-are-set-up-correctly">
### Verifica que hayas configurado los comportamientos correctamente
</div>
Si sigues los pasos anteriores, tus comportamientos deberían verse así:
<Frame>
![Página de CloudFront “Behaviors” con 4 comportamientos: `/docs/*`, `/docs`, `Default` y `/.well-known/*`.](/images/cloudfront/all-behaviors.png)
</Frame>
<div id="preview-distribution">
## Vista previa de la distribución
</div>
Para probar tu distribución, ve a la pestaña "General" y visita la URL de **Distribution domain name**.
<Frame>
![Pestaña "General" de CloudFront con la URL de "Distribution domain name" resaltada.](/images/cloudfront/preview-distribution.png)
</Frame>
Todas las páginas deberían enrutar a tu página de inicio principal. Cuando agregas la subruta que elegiste, por ejemplo `/docs`, la URL debería servir tu documentación de Mintlify.
<div id="connect-with-route-53">
## Conectar con Route 53
</div>
A continuación, conecta la distribución de CloudFront a tu dominio principal.
<Note>
Para esta sección, también puedes consultar la guía oficial de AWS sobre [Configurar
Amazon Route 53 para enrutar el tráfico a una
distribución de CloudFront](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html#routing-to-cloudfront-distribution-config)
</Note>
1. Ve a [Route53](https://aws.amazon.com/route53) en la consola de AWS.
2. Ve a la &quot;Hosted zone&quot; de tu dominio principal.
3. Selecciona **Create record**.
<Frame>
![Página de "Records" de Route 53 con el botón "Create record" resaltado.](/images/cloudfront/route53-create-record.png)
</Frame>
4. Activa `Alias` y luego, en **Route traffic to**, selecciona la opción `Alias to CloudFront distribution`.
<Frame>
![Página "Create record" de Route 53 con el interruptor "Alias" y el menú "Route traffic to" resaltados.](/images/cloudfront/create-record-alias.png)
</Frame>
5. Selecciona **Create records**.
<Note>
Es posible que tengas que eliminar el registro A existente si ya hay uno.
</Note>
Tu documentación ahora está disponible en la subruta elegida de tu dominio principal.
<Propagating />