[PYTHON] Sortie exclusive de l'application Django utilisant ngrok

Objectif

Pour publier l'application django de manière limitée et simple Utilisez l'application django qui s'exécute localement en utilisant ngrok de l'extérieur.

Qu'est-ce que Ngrok

ngrok est un outil qui vous permet d'accéder à un serveur fonctionnant sur localhost depuis l'extérieur du LAN. Pour plus de détails → Comment utiliser ngrok (windows, mac)

Démarrer ngrok

Téléchargez ngrok depuis ↓ et décompressez-le à n'importe quel endroit. ngrok

Lancez ngrok.exe ngrok.exe.png

Paramètres ngrok

Si vous démarrez django par défaut, le numéro de port sera 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.

Pour traiter l'URL de l'applicationhttp: //127.0.0.1: 8000 /avec ngrok Sur le terminal ngrok, entrez ngrok http 8000 et exécutez. Il est également possible de passer un argument à ngrok.exe et de l'exécuter. ngrok.exe http 8000 ngrok.exe2.png

Forwardingに表示されてるxxxxx.ngrok.io/アプリ名で外部アクセスができる。 Le nom de l'application est le nom de l'application défini dans apps.py.

paramètres django

Du côté de djnago, il est nécessaire d'autoriser l'accès depuis ngrok, et d'ajouter '.ngrok.io' à ʻALLOWED_HOSTS`. Puisque la chaîne de caractères avant **. Ngrok ** est générée aléatoirement à chaque démarrage, seul l'accès depuis ngrok est autorisé afin de ne pas l'affecter au démarrage.

settings.py


ALLOWED_HOSTS = ['.ngrok.io']

Si ALLOWED_HOSTS n'est pas pris en charge, l'erreur suivante se produit.

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

Sortie exclusive de l'application Django utilisant ngrok
Flux d'obtention du résultat du traitement asynchrone à l'aide de Django et Celery
Considérez la description de Dockerfile (Django + MySQL②)
Déploiement Heroku de la première application Django à laquelle les débutants sont accros
J'ai essayé le serveur asynchrone de Django 3.0
Comprendre la commodité de Django Rest Framework
Comment vérifier la version de Django
Développement du site de publication d'évaluation des cartes MTG ~ Sortie de l'application Django dans 5 semaines ~
Déployer l'application Django sur Heroku [Partie 2]
Déployer l'application Django sur Heroku [Partie 1]
L'histoire de l'utilisation de mysqlclient car PyMySQL ne peut pas être utilisé avec Django 2.2
Prenons la description de docker-compose.yml (Django + MySQL ③)
Estimation de l'effet des mesures à l'aide des scores de propension
Vérifiez le type de variable que vous utilisez
J'ai vérifié la période de rétention de session de django
Essayez d'utiliser le module de collections (ChainMap) de python3
L'histoire de l'affichage des fichiers multimédias dans Django
Déterminez le nombre de classes à l'aide de la formule Starges
J'ai essayé d'utiliser le filtre d'image d'OpenCV
Vérifiez l'état des données à l'aide de pandas_profiling
Gratter les données gagnantes de Numbers à l'aide de Docker
Calcul de l'itinéraire le plus court selon la méthode de Monte Carlo
Explication du concept d'analyse de régression à l'aide de python Partie 2
Découpez une partie de la chaîne à l'aide d'une tranche Python
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 1 ~
Essayez de créer une application Todo avec le framework Django REST
Dessinez sur Jupyter en utilisant la fonction de tracé des pandas
La douleur de gRPC en utilisant Python. Novembre 2019. (Mémo personnel)
Remarque DJango: depuis le début (en utilisant une vue générique)
Explication du concept d'analyse de régression à l'aide de Python Partie 1
[Django] Changer l'adresse IP par défaut de la commande runserver
J'ai essayé d'utiliser l'API de Sakenowa Data Project
[Django Rest Framework] Personnalisez la fonction de filtre à l'aide de Django-Filter
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 2 ~
Analysons les émotions de Tweet en utilisant Chainer (2ème)
Explication du concept d'analyse de régression à l'aide de Python Extra 1
Notes diverses sur le déploiement de l'application django sur Heroku
[Django 2.2] Trier et obtenir la valeur de la destination de la relation
Étude de Python Hour8: Utilisation de packages
Analysons les émotions de Tweet en utilisant Chainer (1er)
Utilisation de l'application LibreOffice en Python (1) Où sont les macros?
L'histoire de l'utilisation de Circleci pour construire des roues Manylinux
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 3 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 4 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 5 ~
[Python] Changeons l'URL du site administrateur de Django