Documentation Frappe Framework

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.

1 min de lectureMis à jour le Source : docs.frappe.io

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

  1. Un multi-tenant par DNS.
  2. Le site accessible par un domaine valide.
  3. Les droits root sur le serveur.
  4. 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é :

terminal
openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.com.key -out mydomain.com.csr

Le fichier .csr est envoyé à l’autorité, par exemple GoDaddy ou ComodoSSL, qui renvoie le .crt.

Plusieurs certificats, primaire et intermédiaire, se concatènent :

terminal
cat your_certificate.crt CA.crt >> certificate_bundle.crt

La clé privée ne doit être lisible que par root :

terminal
chown root private.key
chmod 600 private.key

Installer et brancher nginx

terminal
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 reload

Sur 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.