Das zweite Django-Projekt befindet sich im Bau. Dieses Mal werden mithilfe des Django REST-Frameworks neue Funktionen wie Back-and-Back, eine vollständig separate Implementierung des Frontends und die https-Kommunikation per SSL aktiviert. Wir gehen voran und nehmen Herausforderungen an.
Dieses Mal wurden Informationen bereits von verschiedenen Personen im Internet geteilt.
Zunächst müssen in dieser Einstellung die folgenden Bedingungen erfüllt sein.
In diesem Zusammenhang wird auf der offiziellen Seite von Lets encrypt empfohlen, die Software Certbot zu verwenden. Wenn Sie jedoch nachschlagen, können Sie dies problemlos tun, ohne dies zu tun. Es scheint, dass.
$ cd /usr/local
$ sudo git clone https://github.com/letsencrypt/letsencrypt
Im Referenztext habe ich es mit dem Befehl create unmittelbar nach der obigen Installation erstellt, aber es hat nicht funktioniert. Tatsächlich sind vorher die folgenden Einstellungen erforderlich.
Ich glaube nicht, dass die Domain, die ich vom Anbieter gekauft habe, www hat, aber ich muss sie als A-Eintrag auf dem DNS-Server hinzufügen. Ein Fehler tritt auf, wenn die Domäne während der Erstellungsphase des Lets Encrypt-Zertifikats kein WWW hat.
Domain: example.com
Zusätzlicher Teil
Name: www.example.com
Type: A record
Value:Server IP Adresse
Vergessen Sie natürlich nicht, die folgenden Elemente zur Apache-Site-Einstellungsdatei hinzuzufügen.
ServerAlias www.example.com
Dieser Teil ist auf das Django-Projekt beschränkt. Sie benötigen eine Software namens mod_wsgi, um das Django-Projekt auf apache2 bereitzustellen. Nach der Installation von mod_wsgi müssen Sie der Konfigurationsdatei die folgenden Elemente hinzufügen.
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 erstellt nach dem Erstellen eines Zertifikats automatisch eine Site-Anweisungsdatei, die ssl unterstützt, indem auf die vorhandene Einstellungsdatei verwiesen wird. Wenn Sie den obigen Teil jedoch nicht auskommentieren, tritt der folgende Fehler auf Ich werde.
Name duplicates previous WSGI daemon definition
Daher können Sie antworten, indem Sie zuerst den oberen Teil auskommentieren, ein Zertifikat erstellen, es festlegen und dann den Kommentar in der ssl-fähigen Site Prescriptive-Datei entfernen.
Es befindet sich schließlich in der Erstellungsphase, aber Sie können es einfach erstellen, indem Sie den folgenden Befehl ausführen. Darüber hinaus wird die Einstellungsdatei in Apache automatisch erstellt.
cd letsencrypt/
sudo ./letsencrypt-auto --apache -d example.com -d www.example.com
Für das Django-Projekt müssen Sie die Konfigurationszeile mod_wsgi in der erstellten Apache-Konfigurationsdatei aktivieren.
Jetzt können Sie mit https über das kostenlose SSL-Zertifikat kommunizieren. Last but not least das Ablaufdatum des Zertifikats. Die oben genannte Methode ist 3 Monate gültig, daher müssen Sie sie vor Ablauf erneuern. Es gibt viele Informationen, die von anderen Leuten darüber geteilt werden, daher denke ich, dass Sie sich darauf beziehen sollten.
Beschreibung des Ablaufdatums beim Erstellen
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