Si vous utilisez Cloudflare comme proxy avec des déploiements Vercel, vous devez veiller à une configuration correcte pour éviter les conflits avec la vérification du domain de Vercel et l’émission des certificats SSL.Une mauvaise configuration du proxy peut empêcher Vercel d’émettre des certificats SSL Let’s Encrypt et entraîner des échecs de vérification du domain.
Votre Cloudflare Worker doit autoriser le trafic vers ces chemins spécifiques sans le bloquer ni le rediriger :
/.well-known/acme-challenge/* - Requis pour la vérification de certificat Let’s Encrypt
/.well-known/vercel/* - Requis pour la vérification de domain Vercel
Bien que Cloudflare gère automatiquement de nombreuses règles de vérification, la création de règles personnalisées supplémentaires peut, par inadvertance, bloquer ce trafic essentiel.
Assurez-vous que l’en-tête HOST est correctement transféré dans la configuration de votre Worker. Un transfert incorrect des en-têtes entraînera l’échec des requêtes de vérification.
Dans votre Dashboard Cloudflare, sélectionnez Edit Code et ajoutez le script suivant au code de votre Worker. Consultez la documentation Cloudflare pour plus d’informations sur la modification d’un Worker.
Remplacez [SUBDOMAIN] par votre sous-domaine unique, [YOUR_DOMAIN] par l’URL de base de votre site, et /docs par le sous-chemin souhaité, s’il est différent.
Signaler un code incorrect
Copier
Demander à l'IA
addEventListener("fetch", (event) => { event.respondWith(handleRequest(event.request));});async function handleRequest(request) { try { const urlObject = new URL(request.url); // Si la requête concerne un chemin de vérification Vercel, la laisser passer if (urlObject.pathname.startsWith('/.well-known/')) { return await fetch(request); } // Si la requête concerne le sous-chemin docs if (/^\/docs/.test(urlObject.pathname)) { // Alors rediriger via proxy vers 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 déploiement sur Vercel, conserver l'IP du client proxyRequest.headers.set("CF-Connecting-IP", request.headers.get("CF-Connecting-IP")); return await fetch(proxyRequest); } } catch (error) { // Si aucune action trouvée, exécuter la requête normale return await fetch(request); }}
Cliquez sur Deploy et attendez que les modifications se propagent.
Après avoir configuré votre DNS, les sous-domaines personnalisés sont généralement disponibles en quelques minutes. La propagation DNS peut parfois prendre 1 à 4 heures, et dans de rares cas jusqu’à 48 heures. Si votre sous-domaine n’est pas immédiatement disponible, veuillez patienter avant d’entreprendre tout dépannage.
Si votre domaine pointe déjà vers un autre service, vous devez supprimer l’enregistrement DNS existant. Votre Cloudflare Worker doit être configuré pour gérer l’ensemble du trafic de votre domaine.
Supprimez l’enregistrement DNS existant pour votre domaine. Consultez la section Delete DNS records de la documentation Cloudflare pour plus d’informations.
Retournez à votre Worker et ajoutez votre domaine personnalisé.
Si vous utilisez Webflow pour héberger votre site principal et que vous souhaitez servir la documentation Mintlify à /docs sur le même domaine, vous devrez configurer un routage personnalisé via Cloudflare Workers pour faire transiter (proxy) tout le trafic non lié à la documentation vers votre site principal.
Assurez-vous que votre site principal est configuré sur une page d’atterrissage avant de déployer ce Worker, sinon les visiteurs de votre site principal verront des erreurs.
Dans Webflow, configurez une page d’atterrissage pour votre site principal, par exemple landing.yoursite.com. Ce sera la page que les visiteurs verront lorsqu’ils visiteront votre site.
Déployez votre site principal sur la page d’atterrissage. Cela garantit que votre site principal reste accessible pendant que vous configurez le Worker.
Pour éviter les conflits, mettez à jour toutes les URL absolues de votre site principal pour qu’elles soient relatives.
Dans Cloudflare, sélectionnez Edit Code et ajoutez le script suivant dans le code de votre Worker.
Remplacez [SUBDOMAIN] par votre sous-domaine unique, [YOUR_DOMAIN] par l’URL de base de votre site web, [LANDING_DOMAIN] par l’URL de votre page d’atterrissage, et /docs par le sous-chemin souhaité si différent.
Signaler un code incorrect
Copier
Demander à l'IA
addEventListener("fetch", (event) => { event.respondWith(handleRequest(event.request)); }); async function handleRequest(request) { try { const urlObject = new URL(request.url); // Si la requête concerne un chemin de vérification Vercel, la laisser passer if (urlObject.pathname.startsWith('/.well-known/')) { return await fetch(request); } // Si la requête concerne le sous-chemin docs if (/^\/docs/.test(urlObject.pathname)) { // Proxy vers 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"); // En cas de déploiement sur Vercel, préserver l'IP du client proxyRequest.headers.set("CF-Connecting-IP", request.headers.get("CF-Connecting-IP")); return await fetch(proxyRequest); } // Rediriger tout le reste vers le site 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 aucune action n'est trouvée, servir la requête normale return await fetch(request); } }
Sélectionnez Deploy et attendez que les modifications se propagent.
Après avoir configuré votre DNS, les sous-domaines personnalisés sont généralement disponibles en quelques minutes. La propagation DNS peut parfois prendre 1 à 4 heures, et dans de rares cas jusqu’à 48 heures. Si votre sous-domaine n’est pas immédiatement disponible, veuillez patienter avant d’entreprendre tout dépannage.