Erstellen Sie eine Django-App, indem Sie auf diesen Artikel verweisen. https://qiita.com/SatoshiGachiFujimoto/items/404e45796ac4e0d7bf81
Öffnen Sie Route 53 über die AWS-Konsole.
Klicken Sie auf "Domain registrieren", um sich zu registrieren.
Geben Sie den Domainnamen ein und legen Sie ihn in den Warenkorb.
Geben Sie Ihre Kontaktinformationen ein. Sie erhalten eine Bestätigungs-E-Mail mit Ihrer E-Mail-Adresse. Genehmigen Sie diese.
Ich akzeptiere die Bedingungen für die Aktivierung der automatischen Domain-Erneuerung.
Die Domainregistrierung ist abgeschlossen.
Diesmal war es in ca. 20 Minuten erledigt.
Verknüpfen Sie diese Domäne mit EC2 der mit CodeStar erstellten Django-Anwendung. EC2 ist eine elastische IP zugeordnet.
Wählen Sie einen Domainnamen aus der gehosteten Zone aus und klicken Sie auf Datensatz erstellen. Geben Sie Folgendes ein und klicken Sie auf Erstellen.
Wenn Sie mit Ihrer registrierten Domain auf die Django-App zugreifen können, sind Sie fertig.
Konvertieren Sie die mit CodeStar erstellte Django-App in HTTPS.
SSH-Verbindung zu EC2 mit PuTTY. Installieren Sie die Bibliothek django-sslserver. Fügen Sie es auch zu Djangos Anforderungen / common.txt hinzu.
$ sudo su
$ source /home/ec2-user/environment/bin/activate
$ pip install django-sslserver
Bearbeiten Sie ec2django / settings.py.
$ cd ec2django/
$ vi settings.py
Ich werde folgendes hinzufügen.
INSTALLED_APPS = [
...
'sslserver',
]
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
Ich werde ein Zertifikat machen.
$ openssl genrsa 2048 > server.key
$ openssl req -new -key server.key > server.csr
$ openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt
Bearbeiten Sie Supervisor.sonf.
command = /home/ec2-user/environment/bin/gunicorn -b 0.0.0.0:443 ec2django.wsgi --keyfile server.key --certfile server.crt
Fügen Sie HTTPS zu den eingehenden Regeln der EC2-Sicherheitsgruppe hinzu.
Nach dem Neustart sollte die Django-App mit meinem Zertifikat angezeigt werden.
Es scheint gut, die Datei server.key und server.crt des Oleore-Zertifikats durch die von Let's Encrypt erstellten zu ersetzen. Installieren Sie certbot und führen Sie certbot-auto aus, um das Zertifikat zu erhalten.
Da ich jedoch verschiedene Fehler bekam, machte ich einen Versuch und Irrtum. ..
$ wget https://dl.eff.org/certbot-auto
$ chmod +x certbot-auto
$ ./certbot-auto --debug -v
$ sudo /opt/eff.org/certbot/venv/bin/pip install cryptography
$ sudo /opt/eff.org/certbot/venv/bin/pip install interface
$ sudo /opt/eff.org/certbot/venv/bin/pip install zope
$ sudo /opt/eff.org/certbot/venv/bin/pip install parsedatetime==2.5
Es tut mir leid, dass der Artikel eine geringe Reproduzierbarkeit aufweist. Durch Ausprobieren kann certbot-auto nun ausgeführt werden. Wenn ich certbot-auto ausführe, muss ich den Speicherort der statischen Datei in Django festlegen, damit die Zertifizierungsstelle die Zertifizierungsdatei lesen kann.
HTTPS auf einem Server, auf dem Djnago mit letsencrypt ausgeführt wird
Ich war mir nicht sicher, also habe ich nur Apache (httpd) gesetzt und certbot-auto ausgeführt, um das Zertifikat zu erhalten.
Erstellen Sie einen Django-WEB-Server unter AWS (Amazon Linux 2, HTTPS)
sudo yum -y install httpd24
Ich habe einen Fehler erhalten, der von der httpd 2.2-Serie abhängt. .. Ich habe es durch Deinstallation installiert.
Fügen Sie es unter Listen 80 in /etc/httpd/conf/httpd.conf hinzu.
sudo vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html"
Servername "{Domainname}"
ServerAlias "www. {Domain name}"
</VirtualHost>
Starten Sie Apache.
sudo service httpd start
Führen Sie ./certbot-auto aus, ersetzen Sie die resultierende .crt und .key, starten Sie die Django-App neu und fertig.
$ sudo cp /etc/letsencrypt/live/www.domainname/fullchain.pem /home/ec2-user/server.crt
$ sudo cp /etc/letsencrypt/live/www.domainname/privkey.pem /home/ec2-user/server.key
$ service helloworld restart
Danke für deine harte Arbeit. Auch wenn ich es von Anfang an mache, möchte ich es ordentlich zusammenstellen.
Recommended Posts