Le deuxième projet Django est en cours de construction. Cette fois, en utilisant Django REST framework, de nouvelles choses telles que le va-et-vient, l'implémentation complètement séparée du front-end et la communication https par ssl sont activées. Nous procédons en relevant les défis.
Cette fois, les informations étaient déjà partagées par différentes personnes sur le net,
Tout d'abord, dans ce cadre, les conditions suivantes doivent être remplies.
À ce sujet, la page officielle de Lets encrypt recommande d'utiliser un logiciel appelé Certbot, mais si vous la recherchez, vous pouvez facilement le faire sans le faire. Il semble.
$ cd /usr/local
$ sudo git clone https://github.com/letsencrypt/letsencrypt
Dans le texte de référence, je l'ai fait avec la commande create immédiatement après l'avoir installé ci-dessus, mais cela n'a pas fonctionné. En fait, les paramètres suivants sont requis avant cela.
Je ne pense pas que le domaine que j'ai acheté auprès du fournisseur ait www, mais je dois l'ajouter en tant qu'enregistrement A sur le serveur DNS. Une erreur se produit si le domaine n'a pas www pendant la phase de création du certificat Lets Encrypt.
Domain: example.com
Partie supplémentaire
Name: www.example.com
Type: A record
Value:Adresse IP du serveur
Bien sûr, n'oubliez pas d'ajouter les éléments suivants au fichier de paramètres du site apache.
ServerAlias www.example.com
Cette partie est limitée au projet Django. Lors du déploiement du projet Django sur apache2, vous aurez besoin d'un logiciel appelé mod_wsgi. Après avoir installé mod_wsgi, vous devrez ajouter les éléments suivants au fichier de configuration.
WSGIDaemonProcess django_wsgi pythonpath=/var/www/myproject:/usr/local/lib/python2.7/dist-packages
WSGIProcessGroup django_wsgi
WSGIScriptAlias / /var/www/myproject/myproject/wsgi.py
Lets Encrypt créera automatiquement un fichier d'instructions de site prenant en charge SSL après la création d'un certificat en se référant au fichier de paramètres existant, mais si vous ne commentez pas la partie ci-dessus, l'erreur suivante se produira Je vais.
Name duplicates previous WSGI daemon definition
Par conséquent, vous pouvez répondre en mettant d'abord en commentaire la partie supérieure, en créant un certificat, en le définissant, puis en supprimant le commentaire dans le fichier normatif de site ssl.
Il est enfin en phase de création, mais vous pouvez facilement le créer simplement en exécutant la commande suivante. De plus, le fichier de configuration dans apache est également créé automatiquement.
cd letsencrypt/
sudo ./letsencrypt-auto --apache -d example.com -d www.example.com
Pour le projet Django, vous devez activer la ligne de configuration mod_wsgi dans le fichier de configuration apache créé.
Vous pouvez désormais communiquer avec https en utilisant le certificat SSL gratuit. Dernier point mais non le moindre, la date d'expiration du certificat. La méthode ci-dessus est valable 3 mois, vous devez donc la renouveler avant son expiration. Il y a beaucoup d'informations partagées par d'autres personnes à ce sujet, alors je pense que vous devriez vous y référer.
Description de la date d'expiration lors de la création
Your cert will expire on 2017-12-04. To obtain a new or tweaked
version of this certificate in the future, simply run
letsencrypt-auto again with the "certonly" option. To
non-interactively renew *all* of your certificates, run
"letsencrypt-auto renew"
Setting up SSL on a Django App with Let's Encrypt - Ubuntu, Apache, and mod_wsgi
Recommended Posts