Tus archivos de documentación deben organizarse dentro de tu repositorio para que coincidan con la estructura de subruta que elijas. Por ejemplo, si quieres que tu documentación esté en yoursite.com/docs, crea un directorio docs/ con todos tus archivos de documentación.
Si utilizas Cloudflare como proxy con implementaciones de Vercel, debes asegurarte de una configuración adecuada para evitar conflictos con la verificación del domain de Vercel y el aprovisionamiento de certificados SSL.Una configuración de proxy incorrecta puede impedir que Vercel aprovisione certificados SSL de Let’s Encrypt y provocar fallos en la verificación del domain.
Tu Cloudflare Worker debe permitir el tráfico a estas rutas específicas sin bloquear ni redirigir:
/.well-known/acme-challenge/* - Obligatoria para la verificación de certificados de Let’s Encrypt
/.well-known/vercel/* - Obligatoria para la verificación del domain de Vercel
Aunque Cloudflare gestiona automáticamente muchas reglas de verificación, crear reglas personalizadas adicionales puede bloquear inadvertidamente este tráfico crítico.
Asegúrate de que la cabecera HOST se reenvíe correctamente en la configuración de tu Worker. Si no se reenvían correctamente las cabeceras, las solicitudes de verificación fallarán.
En tu dashboard de Cloudflare, selecciona Edit Code y añade el siguiente script al código de tu Worker. Consulta la documentación de Cloudflare para obtener más información sobre cómo editar un Worker.
Reemplaza [SUBDOMAIN] por tu subdomain único, [YOUR_DOMAIN] por la URL base de tu sitio web y /docs por la subruta que prefieras, si es diferente.
Reportar código incorrecto
Copiar
Preguntar a la IA
addEventListener("fetch", (event) => { event.respondWith(handleRequest(event.request));});async function handleRequest(request) { try { const urlObject = new URL(request.url); // Si la solicitud es a una ruta de verificación de Vercel, permitir que pase if (urlObject.pathname.startsWith('/.well-known/')) { return await fetch(request); } // Si la solicitud es al subdirectorio docs if (/^\/docs/.test(urlObject.pathname)) { // Entonces hacer proxy a Mintlify const DOCS_URL = "[SUBDOMAIN].mintlify.dev"; const CUSTOM_URL = "[YOUR_DOMAIN]"; let url = new URL(request.url); url.hostname = DOCS_URL; let proxyRequest = new Request(url, request); proxyRequest.headers.set("Host", DOCS_URL); proxyRequest.headers.set("X-Forwarded-Host", CUSTOM_URL); proxyRequest.headers.set("X-Forwarded-Proto", "https"); // Si se despliega en Vercel, preservar la IP del cliente proxyRequest.headers.set("CF-Connecting-IP", request.headers.get("CF-Connecting-IP")); return await fetch(proxyRequest); } } catch (error) { // Si no se encuentra ninguna acción, ejecutar la solicitud normal return await fetch(request); }}
Selecciona Deploy y espera a que los cambios se propaguen.
Después de configurar tu DNS, los subdomains personalizados suelen estar disponibles en pocos minutos. La propagación de DNS a veces puede tardar de 1 a 4 horas y, en casos raros, hasta 48 horas. Si tu subdomain no está disponible de inmediato, espera antes de intentar solucionarlo.
Si tu domain ya apunta a otro servicio, debes eliminar el registro DNS existente. Tu Cloudflare Worker debe estar configurado para controlar todo el tráfico de tu domain.
Elimina el registro DNS existente para tu domain. Consulta Eliminar registros DNS en la documentación de Cloudflare para obtener más información.
Vuelve a tu Worker y agrega tu domain personalizado.
Si usas Webflow para alojar tu sitio principal y quieres servir la documentación de Mintlify en /docs en el mismo domain, tendrás que configurar un enrutamiento personalizado con Cloudflare Workers para enviar por proxy todo el tráfico que no sea de la documentación a tu sitio principal.
Asegúrate de que tu sitio principal esté configurado en una página de destino antes de implementar este Worker, o los visitantes de tu sitio principal verán errores.
En Webflow, configura una página de destino para tu sitio principal, por ejemplo landing.yoursite.com. Esta será la página que verán los visitantes cuando accedan a tu sitio.
Implementa tu sitio principal en la página de destino. Esto garantiza que tu sitio principal siga siendo accesible mientras configuras el Worker.
Para evitar conflictos, actualiza cualquier URL absoluta en tu sitio principal para que sea relativa.
En Cloudflare, selecciona Edit Code y agrega el siguiente script en el código de tu Worker.
Reemplaza [SUBDOMAIN] con tu subdomain único, [YOUR_DOMAIN] con la URL base de tu sitio web, [LANDING_DOMAIN] con la URL de tu página de destino y /docs con la subruta que desees si es diferente.
Reportar código incorrecto
Copiar
Preguntar a la IA
addEventListener("fetch", (event) => { event.respondWith(handleRequest(event.request)); }); async function handleRequest(request) { try { const urlObject = new URL(request.url); // Si la solicitud es a una ruta de verificación de Vercel, permitir que pase if (urlObject.pathname.startsWith('/.well-known/')) { return await fetch(request); } // Si la solicitud es al subdirectorio docs if (/^\/docs/.test(urlObject.pathname)) { // Proxy a Mintlify const DOCS_URL = "[SUBDOMAIN].mintlify.dev"; const CUSTOM_URL = "[YOUR_DOMAIN]"; let url = new URL(request.url); url.hostname = DOCS_URL; let proxyRequest = new Request(url, request); proxyRequest.headers.set("Host", DOCS_URL); proxyRequest.headers.set("X-Forwarded-Host", CUSTOM_URL); proxyRequest.headers.set("X-Forwarded-Proto", "https"); // Si se despliega en Vercel, preservar la IP del cliente proxyRequest.headers.set("CF-Connecting-IP", request.headers.get("CF-Connecting-IP")); return await fetch(proxyRequest); } // Enrutar todo lo demás al sitio principal const MAIN_SITE_URL = "[LANDING_DOMAIN]"; if (MAIN_SITE_URL && MAIN_SITE_URL !== "[LANDING_DOMAIN]") { let mainSiteUrl = new URL(request.url); mainSiteUrl.hostname = MAIN_SITE_URL; return await fetch(mainSiteUrl, { method: request.method, headers: request.headers, body: request.body }); } } catch (error) { // Si no se encuentra ninguna acción, servir la solicitud regular return await fetch(request); } }
Selecciona Deploy y espera a que los cambios se propaguen.
Después de configurar tu DNS, los subdomains personalizados suelen estar disponibles en pocos minutos. La propagación de DNS a veces puede tardar de 1 a 4 horas y, en casos raros, hasta 48 horas. Si tu subdomain no está disponible de inmediato, espera antes de intentar solucionarlo.