Frappe Framework
Configurer HTTPS
Après un certificat et une clé lisible par root, deux commandes bench renseignent nginx. Le trafic HTTP est ensuite redirigé vers HTTPS.
Fichiers nécessaires
Le certificat vient d’une autorité reconnue, ou il est auto-signé. Avec un certificat auto-signé, le navigateur avertit qu’il n’est pas de confiance. La source renvoie vers HTTPS avec Let’s Encrypt pour un certificat gratuit.
Il faut le certificat, en général .crt, et la clé privée déchiffrée.
Prérequis
- Un multi-tenant par DNS.
- Le site accessible par un domaine valide.
- Les droits root sur le serveur.
- Un certificat d’une autorité de confiance, ou un certificat auto-signé.
Si le .crt n’existe pas encore, générez une demande de signature (CSR) et la clé :
openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.com.key -out mydomain.com.csrLe fichier .csr est envoyé à l’autorité, par exemple GoDaddy ou ComodoSSL, qui renvoie le .crt.
Plusieurs certificats, primaire et intermédiaire, se concatènent :
cat your_certificate.crt CA.crt >> certificate_bundle.crtLa clé privée ne doit être lisible que par root :
chown root private.key
chmod 600 private.keyInstaller et brancher nginx
mkdir /etc/nginx/conf.d/ssl
mv private.key /etc/nginx/conf.d/ssl/private.key
mv certificate_bundle.crt /etc/nginx/conf.d/ssl/certificate_bundle.crt
bench set-ssl-certificate site1.local /etc/nginx/conf.d/ssl/certificate_bundle.crt
bench set-ssl-key site1.local /etc/nginx/conf.d/ssl/private.key
bench setup nginx
sudo service nginx reloadSur CentOS 7, le rechargement est systemctl reload nginx.
Point d’attention
Une fois SSL configuré, tout le trafic HTTP est redirigé vers HTTPS. Les chemins de l’exemple sont ceux de site1.local.
