| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| configuration_d_un_serveur_web_caddy [2021/02/24 22:41] – [Activer HTTPS] superadmin | configuration_d_un_serveur_web_caddy [2022/04/11 16:34] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| |
| Si l'on souhaite que le site ne soit accessible qu'en local, à des fins de développement par exemple, le nom de domaine du site doit être ''localhost''. | Si l'on souhaite que le site ne soit accessible qu'en local, à des fins de développement par exemple, le nom de domaine du site doit être ''localhost''. |
| | |
| | :!: Lorsque plusieurs sites doivent cohabiter sur le même serveur, on utilise les accolades (''{'' & ''}'') à la suite de la déclaration du nom de domaine/adresse IP afin de dissocier les différentes configurations. |
| |
| ==== Activer PHP ==== | ==== Activer PHP ==== |
| ==== Activer HTTPS ==== | ==== Activer HTTPS ==== |
| |
| Le protocole HTTPS permet de chiffrer les échanges entre le serveur web et le navigateur web. Il requiert l'utilisation de certificats SSL afin de certifier la propriété du site. Ce certificat peut être géré manuellement, ou bien automatiquement par Caddy. | Le protocole HTTPS permet de chiffrer les requêtes entre le serveur web et le navigateur web. Il requiert l'utilisation de certificats SSL afin de garantir la confidentialité et l'intégrité des données échangées. Caddy est capable de gérer cela de façon complètement autonome. |
| |
| === Activer HTTPS automatiquement pour un site public === | === Activer HTTPS automatiquement pour un site public === |
| |
| Caddy permet d'automatiser la configuration du protocole HTTPS sans avoir à demander un certificat ni à l'installer. Pour cela, il faut impérativement que les sites concernés soient accessibles sur les ports 80 et 443, ET que le nom de domaine utilisé redirige bien vers le serveur web. | Un des avantages de Caddy est qu'il permet d'automatiser la génération et l'installation de certificats SSL pour le web. Pour cela, il faut impérativement que les sites concernés soient accessibles sur les ports 80 et 443 ET que le nom de domaine utilisé redirige bien vers le serveur web. |
| La configuration d'HTTPS est aisée, puisqu'il ne suffit que d'une ligne supplémentaire dans le Caddyfile : | La configuration est aisée, puisqu'il ne suffit que d'une ligne supplémentaire dans le Caddyfile : |
| |
| <code>tls admin@monnomdedomaine.fr</code> | <code>tls admin@monnomdedomaine.fr</code> |
| Cette instruction permet simplement de renseigner une adresse mail de contact (obligatoire pour la création du certificat SSL). | Cette instruction permet simplement de renseigner une adresse mail de contact (obligatoire pour la création du certificat SSL). |
| |
| Au premier lancement du serveur web, et s'il n'y a pas d'erreur dans la configuration, Caddy va générer tout seul un certificat auprès d'une autorité de certification gratuite (Let's Encrypt ou ZeroSSL) et l'installer tout seul. Le site est désormais accessible en HTTPS ! | Au premier lancement du serveur web, et s'il n'y a pas d'erreur dans la configuration, Caddy va alors récupérer un certificat auprès d'une autorité de certification gratuite (Let's Encrypt ou ZeroSSL) et l'installer sur le serveur. Le(s) site(s) est/sont désormais accessible(s) en HTTPS ! |
| |
| Dans le cas où l'on souhaiterais utiliser un certificat SSL existant, se référer à la partie suivante. | Dans le cas où l'on souhaiterais installer soi-même un certificat SSL existant, se référer à la partie **Activer HTTPS manuellement** un peu plus bas. |
| |
| === Activer HTTPS automatiquement pour un site local === | === Activer HTTPS automatiquement pour un site local === |
| |
| Afin d'activer HTTPS sur un site local, Caddy peut générer aussi des certificats SSL auto-signés. | L'activation d'HTTPS se fait automatiquement pour les sites locaux, sauf sur les sites sur le port 80. Un certificat auto-signé est généré par Caddy. |
| |
| === Activer HTTPS manuellement === | === Activer HTTPS manuellement === |
| Après ''tls'', le premier fichier à indiquer est le certificat, et le second la clé privée associée. | Après ''tls'', le premier fichier à indiquer est le certificat, et le second la clé privée associée. |
| |
| __:!: Remarque importante :!: :__ Pour que la création et l'installation automatique du certificat HTTPS fonctionne, le site doit être accessible depuis le port **443** (avec ''https://'' devant le nom de domaine) et être aussi accessible depuis le port **80** (avec ''http://'' devant le NDD), si le site tourne sur d'autres ports, la certification HTTPS ne fonctionnera pas (ou alors il faudra installer le certificat manuellement). De plus, il faut que le serveur ait accès à Internet bien sûr. | |
| |
| |
| :!: Bien évidemment le chemin vers la configuration de Caddy peut varier. | :!: Bien évidemment le chemin vers la configuration de Caddy peut varier. |
| |
| ===== Configuration de Caddy comme Reverse Proxy web ===== | ==== Exemples de configuration ==== |
| |
| à venir | Caddyfile d'un serveur web disponible sur le réseau local avec PHP et HTTPS : |
| |
| | <code>192.168.1.65:80 |
| | root * /web/ |
| | file_server |
| | php_fastcgi unix//run/php/php7.3-fpm.sock |
| | </code> |
| ===== Dépannage ===== | ===== Dépannage ===== |
| |