Les configurations de proxy inverse ne sont prises en charge que pour les offres Custom.
Pour diffuser votre documentation via un proxy inverse personnalisé, vous devez configurer des règles de routage, des politiques de mise en cache et le transfert des en-têtes.
Lorsque vous mettez en place un proxy inverse, surveillez les problèmes potentiels liés à la vérification du domain, au provisionnement des certificats SSL, aux parcours d’authentification, aux performances et au suivi Analytics.
Redirigez ces chemins vers votre sous-domaine Mintlify avec les politiques de mise en cache indiquées :
Chemin | Destination | Mise en cache |
---|
/.well-known/acme-challenge/* | <your-subdomain>.mintlify.app | Pas de cache |
/.well-known/vercel/* | <your-subdomain>.mintlify.app | Pas de cache |
/mintlify-assets/_next/static/* | <your-subdomain>.mintlify.app | Cache activé |
/_mintlify/* | <your-subdomain>.mintlify.app | Pas de cache |
/* | <your-subdomain>.mintlify.app | Pas de cache |
/ | <your-subdomain>.mintlify.app | Pas de cache |
Configurez votre reverse proxy avec les en-têtes suivants :
- Origin : contient le sous-domaine cible
<your-subdomain>.mintlify.app
- X-Forwarded-For : conserve les informations d’adresse IP du client
- X-Forwarded-Proto : conserve le protocole d’origine (HTTP/HTTPS)
- X-Real-IP : transmet la véritable adresse IP du client
- User-Agent : transmet l’agent utilisateur
Assurez-vous que l’en-tête Host
n’est pas transmis
Exemple de configuration Nginx
server {
listen 80;
server_name <your-domain>.com;
# Chemins de vérification Let's Encrypt
location ~ ^/\.well-known/acme-challenge/ {
proxy_pass https://<your-subdomain>.mintlify.app;
proxy_set_header Origin <your-subdomain>.mintlify.app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header User-Agent $http_user_agent;
# Désactiver la mise en cache pour les chemins de vérification
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
# Chemins de vérification Vercel
location ~ ^/\.well-known/vercel/ {
proxy_pass https://<your-subdomain>.mintlify.app;
proxy_set_header Origin <your-subdomain>.mintlify.app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header User-Agent $http_user_agent;
# Désactiver la mise en cache pour les chemins de vérification
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
# Ressources statiques avec mise en cache
location ~ ^/mintlify-assets/_next/static/ {
proxy_pass https://<your-subdomain>.mintlify.app;
proxy_set_header Origin <your-subdomain>.mintlify.app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header User-Agent $http_user_agent;
# Activer la mise en cache pour les ressources statiques
add_header Cache-Control "public, max-age=86400";
}
# Chemins spécifiques à Mintlify
location ~ ^/_mintlify/ {
proxy_pass https://<your-subdomain>.mintlify.app;
proxy_set_header Origin <your-subdomain>.mintlify.app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header User-Agent $http_user_agent;
# Désactiver la mise en cache pour les chemins Mintlify
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
# Chemin racine
location = / {
proxy_pass https://<your-subdomain>.mintlify.app;
proxy_set_header Origin <your-subdomain>.mintlify.app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header User-Agent $http_user_agent;
# Désactiver la mise en cache pour le contenu dynamique
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
# Tous les autres chemins de documentation
location / {
proxy_pass https://<your-subdomain>.mintlify.app;
proxy_set_header Origin <your-subdomain>.mintlify.app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header User-Agent $http_user_agent;
# Désactiver la mise en cache pour le contenu dynamique
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
}
Symptômes : La documentation se charge, mais certaines fonctionnalités ne fonctionnent pas. Les appels à l’API échouent.
Cause : L’en-tête Host
est transmis ou l’en-tête Origin
est manquant.
Solution :
- Supprimer le transfert de l’en-tête
Host
- Définir l’en-tête
Origin
sur <your-subdomain>.mintlify.app
Symptômes : temps de chargement lents et décalages de mise en page.
Cause : configuration de la mise en cache incorrecte.
Solution : activez la mise en cache uniquement pour les chemins /mintlify-assets/_next/static/*
.