Guide · VPS & hosting
Configurer HTTPS sur un VPS : méthode sûre, certificats et vérifications
Configurer HTTPS sur un VPS sans interrompre son application : DNS, reverse proxy, certificats, redirections et vérifications utiles.
Configurer HTTPS sur un VPS consiste à prouver qu’un nom de domaine atteint le bon serveur, qu’un certificat valide est présenté et que l’application reste accessible derrière un reverse proxy. Le piège courant est de lancer un outil de certificat avant d’avoir vérifié le DNS, les ports et le chemin de retour. Travaillez dans cet ordre : domaine, proxy, certificat, redirection, puis contrôle depuis l’extérieur.
HTTPS protège le transport entre le navigateur et le serveur ; il ne corrige pas les permissions applicatives, les secrets exposés dans les logs ou une base de données ouverte au public. C’est une couche nécessaire, pas une sécurité complète.
Ce que vous allez faire
Vous allez relier un domaine au VPS, placer l’application derrière un proxy TLS, obtenir un certificat via une autorité reconnue, rediriger HTTP vers HTTPS et vérifier le résultat. Les commandes dépendent du proxy et de la distribution ; suivez la documentation de l’outil choisi au lieu de recopier une configuration sans comprendre ses chemins et utilisateurs.
Prérequis
- Un domaine dont vous contrôlez la zone DNS.
- L’adresse IP publique du VPS et l’accès console en cas d’erreur réseau.
- Une application qui répond localement sur un port interne ou un socket.
- Un reverse proxy maintenu, configuré selon sa documentation.
- Les ports HTTP et HTTPS ouverts uniquement si le service doit être public.
Préparez une page ou une route de santé non sensible. Elle servira à vérifier que le proxy atteint l’application sans révéler de données internes.
1. Vérifier le DNS avant le serveur
Créez l’enregistrement DNS correspondant au domaine ou sous-domaine et attendez sa propagation selon la durée de vie définie. Vérifiez qu’il résout vers l’IP attendue depuis un réseau extérieur. Ne copiez pas une IP issue d’un environnement temporaire : un certificat délivré pour le mauvais serveur crée une panne difficile à diagnostiquer.
Vérification : comparez la résolution publique avec l’adresse configurée chez l’hébergeur. Si elles divergent, corrigez le DNS avant de demander un certificat ou de modifier le proxy.
2. Configurer un reverse proxy minimal
Le proxy reçoit les connexions publiques et transmet les requêtes à l’application sur son port interne. Limitez le processus applicatif à l’interface locale lorsque c’est possible : il n’a alors pas besoin d’être exposé directement. Déclarez le nom de domaine exact, le backend attendu, des délais cohérents et des limites de taille adaptées aux uploads légitimes.
Ne réutilisez pas une configuration trouvée pour une autre application sans vérifier les en-têtes, les WebSockets, le cache et les chemins. Un proxy mal réglé peut casser l’authentification ou générer des boucles de redirection.
Vérification : testez d’abord HTTP sur le domaine et assurez-vous que le proxy atteint la route de santé. Contrôlez les journaux du proxy et de l’application ; une erreur 502 indique généralement que le backend n’est pas joignable, pas que le certificat est en cause.
3. Obtenir et installer le certificat
Utilisez un client et une autorité documentés pour votre reverse proxy. Les défis de validation confirment que vous contrôlez le domaine ; ils exigent donc que la résolution et les chemins HTTP ou DNS soient corrects. Conservez les fichiers de clé avec des permissions restrictives et évitez de les copier dans un dépôt ou dans un volume accessible à l’application.
Automatisez le renouvellement suivant la méthode officielle de votre client, mais n’oubliez pas le contrôle : un cron qui échoue silencieusement ne protège pas un service. Préparez une alerte avant expiration et testez le renouvellement à blanc si l’outil le propose.
Vérification : ouvrez le domaine en HTTPS depuis un navigateur externe et inspectez le nom, l’émetteur et la date d’expiration du certificat. Vérifiez aussi que le proxy peut être rechargé sans couper inutilement les requêtes en cours.
4. Rediriger HTTP vers HTTPS
Après validation HTTPS, configurez une redirection permanente de HTTP vers HTTPS. Gardez toutefois le port HTTP disponible si votre méthode de renouvellement ou votre autorité l’exige. Ne redirigez pas à l’aveugle des noms de domaine que vous ne servez pas : cela peut masquer une erreur de configuration ou envoyer des utilisateurs vers le mauvais hôte.
La redirection doit préserver le chemin et les paramètres attendus. Testez les pages publiques, les callbacks d’authentification et les webhooks documentés. Un formulaire qui fonctionne sur la page d’accueil mais échoue après redirection n’est pas un déploiement terminé.
Vérification : appelez une URL HTTP et confirmez une redirection vers la même URL HTTPS. Contrôlez ensuite que la réponse HTTPS finale est bien servie par l’application attendue.
5. Ajouter HSTS après validation
HSTS demande aux navigateurs de préférer HTTPS pendant une durée donnée. C’est utile seulement lorsque tous les sous-domaines concernés sont prêts et que votre stratégie de retour est comprise. Commencez avec une durée prudente, vérifiez les effets, puis augmentez-la si votre domaine et ses redirections sont stables. L’option qui inclut les sous-domaines élargit fortement la portée : n’activez pas cette politique par habitude.
Vérification : examinez l’en-tête envoyé sur le domaine concerné. Vérifiez aussi qu’aucun sous-domaine inclus ne dépend encore de HTTP.
Problèmes fréquents et solutions
Le défi de certificat échoue. Reprenez DNS, ports publics et emplacement du défi. Ne désactivez pas durablement le pare-feu pour contourner l’erreur.
Le navigateur affiche une boucle de redirection. Vérifiez qui connaît le protocole d’origine : proxy, application et en-têtes doivent être cohérents. Corrigez une couche à la fois.
L’application répond directement sur son port interne. Restreignez l’écoute ou le pare-feu pour que le proxy soit l’unique point public prévu.
Le renouvellement ne fonctionne plus. Consultez les journaux du client, testez le mécanisme de renouvellement et mettez une alerte avant expiration.
FAQ
Un certificat HTTPS est-il payant ?
Les modalités dépendent de l’autorité et du service choisi. Ce guide ne compare pas d’offres ; suivez la documentation de votre solution de certificats.
Faut-il installer le certificat dans l’application Next.js ?
En général, le reverse proxy termine TLS et transmet à l’application sur le réseau interne. Vérifiez néanmoins l’architecture et la documentation de votre runtime.
Peut-on utiliser HTTPS sans domaine ?
Un certificat public est lié à un nom de domaine. Les tests locaux et privés relèvent d’un autre modèle de confiance.
Quand activer HSTS ?
Après avoir vérifié que HTTPS fonctionne durablement sur les hôtes inclus et que vous comprenez la portée de la politique.
HTTPS protège-t-il les données stockées ?
Non. Il protège la connexion en transit ; chiffrement au repos, accès, sauvegardes et secrets nécessitent des contrôles distincts.
Conclusion
Configurer HTTPS sur un VPS est fiable lorsque DNS, proxy, certificat, redirection et renouvellement sont vérifiés séparément. Gardez l’application derrière le proxy, contrôlez régulièrement l’expiration et n’étendez HSTS qu’après une validation complète du domaine.
Pour garder ce déploiement maintenable, documentez le domaine, le propriétaire de la zone DNS, le proxy utilisé, le mécanisme de renouvellement et la route de santé testée. Lors d’un changement d’hébergeur ou de serveur, cette fiche réduit le risque de recréer des certificats ou des redirections dans l’urgence. Refaites les contrôles après toute modification de DNS, de pare-feu ou de reverse proxy.
Sources et limites
Sources primaires : Let’s Encrypt — documentation, Mozilla SSL Configuration Generator et OWASP Transport Layer Security Cheat Sheet. Les paramètres de proxy et de distribution diffèrent selon l’environnement. Ce guide ne remplace pas la documentation de votre serveur web ni une revue de configuration.