[PYTHON] Exklusive Veröffentlichung der Django App mit ngrok

Zweck

Veröffentlichung der Django-App auf begrenzte und einfache Weise Verwenden Sie die Django-App, die lokal mit ngrok von außen ausgeführt wird.

Was ist ngrok?

ngrok ist ein Tool, mit dem Sie von außerhalb des LAN auf einen Server zugreifen können, der auf localhost ausgeführt wird. Weitere Informationen → Verwendung von ngrok (Windows, Mac)

Starten Sie ngrok

Laden Sie ngrok von ↓ herunter und entpacken Sie es an einem beliebigen Ort. ngrok

Starten Sie ngrok.exe ngrok.exe.png

ngrok Einstellungen

Wenn Sie Django standardmäßig starten, lautet die Portnummer 8000.

System check identified no issues (0 silenced).
April 22, 2020 - 17:50:03
Django version 3.0.3, using settings 'project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

So verarbeiten Sie die App-URL "http: //127.0.0.1: 8000 /" mit ngrok Geben Sie auf dem ngrok-Terminal "ngrok http 8000" ein und führen Sie es aus. Es ist auch möglich, ein Argument an ngrok.exe zu übergeben und auszuführen. ngrok.exe http 8000 ngrok.exe2.png

Forwardingに表示されてるxxxxx.ngrok.io/アプリ名で外部アクセスができる。 Der App-Name ist der in apps.py definierte Anwendungsname.

Django-Einstellungen

Auf der Djnago-Seite ist es notwendig, den Zugriff von ngrok zuzulassen und ".ngrok.io" zu "ALLOWED_HOSTS" hinzuzufügen. Da die Zeichenfolge vor **. Ngrok ** bei jedem Start zufällig generiert wird, ist nur der Zugriff von ngrok zulässig, um sie beim Start nicht zu beeinträchtigen.

settings.py


ALLOWED_HOSTS = ['.ngrok.io']

Wenn ALLOWED_HOSTS nicht unterstützt wird, tritt der folgende Fehler auf.

DisallowedHost at /app/
Invalid HTTP_HOST header: 'xxxxx.ngrok.io'. You may need to add 'xxxxx.ngrok.io' to ALLOWED_HOSTS.

Request Method:	GET
Request URL:	http://xxxxx.ngrok.io/app/
Django Version:	3.0.3
Exception Type:	DisallowedHost
Exception Value:	
Invalid HTTP_HOST header: 'xxxxx.ngrok.io'. You may need to add 'xxxxx.ngrok.io' to ALLOWED_HOSTS.
・
・
・

Recommended Posts

Exklusive Veröffentlichung der Django App mit ngrok
Ablauf des Ergebnisses der asynchronen Verarbeitung mit Django und Sellerie
Betrachten Sie die Beschreibung von Dockerfile (Django + MySQL②)
Heroku-Bereitstellung der ersten Django-App, von der Anfänger abhängig sind
Ich habe den asynchronen Server von Django 3.0 ausprobiert
Verstehen Sie den Komfort des Django Rest Framework
So überprüfen Sie die Version von Django
Entwicklung der MTG Card Evaluation Posting Site ~ Veröffentlichung der Django App in 5 Wochen ~
Stellen Sie die Django-App in Heroku bereit [Teil 2]
Stellen Sie die Django-App in Heroku bereit [Teil 1]
Die Geschichte der Verwendung von mysqlclient, da PyMySQL nicht mit Django 2.2 verwendet werden kann
Betrachten Sie die Beschreibung von docker-compose.yml (Django + MySQL ③)
Abschätzung der Wirkung von Maßnahmen anhand von Neigungswerten
Überprüfen Sie den Typ der von Ihnen verwendeten Variablen
Ich habe die Sitzungsaufbewahrungsdauer von Django überprüft
Versuchen Sie es mit dem Sammlungsmodul (ChainMap) von python3
Die Geschichte der Anzeige von Mediendateien in Django
Bestimmen Sie die Anzahl der Klassen mithilfe der Starges-Formel
Ich habe versucht, den Bildfilter von OpenCV zu verwenden
Überprüfen Sie den Status der Daten mit pandas_profiling
Scraping der Gewinndaten von Zahlen mit Docker
Berechnung der kürzesten Route nach der Monte-Carlo-Methode
Erläuterung des Konzepts der Regressionsanalyse mit Python Teil 2
Schneiden Sie einen Teil der Zeichenfolge mit einem Python-Slice aus
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 1 ~
Lassen Sie uns eine Todo-App mit dem Django REST-Framework erstellen
Zeichnen auf Jupyter mit der Plot-Funktion von Pandas
Der Schmerz von gRPC mit Python. November 2019. (Persönliches Memo)
DJango Hinweis: Von Anfang an (mit einer generischen Ansicht)
Erläuterung des Konzepts der Regressionsanalyse mit Python Teil 1
[Django] Ändern Sie die Standard-IP-Adresse des Befehls runserver
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
[Django Rest Framework] Passen Sie die Filterfunktion mit Django-Filter an
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 2 ~
Lassen Sie uns die Emotionen von Tweet mit Chainer (2.) analysieren.
Erläuterung des Konzepts der Regressionsanalyse mit Python Extra 1
Verschiedene Hinweise zur Bereitstellung der Django-App auf Heroku
[Django 2.2] Sortieren und erhalten Sie den Wert des Beziehungsziels
Studie aus Python Hour8: Verwenden von Paketen
Lassen Sie uns die Emotionen von Tweet mit Chainer (1.) analysieren.
Die Geschichte der Verwendung von Circleci zum Bau vieler Linux-Räder
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 3 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 4 ~
[CRUD] [Django] Erstellen Sie eine CRUD-Site mit dem Python-Framework Django ~ 5 ~
[Python] Lassen Sie uns die URL der Django-Administrator-Site ändern