Maison > développement back-end > Tutoriel Python > Comment accéder à mon backend FastAPI depuis une autre machine sur le même réseau local ?

Comment accéder à mon backend FastAPI depuis une autre machine sur le même réseau local ?

DDD
Libérer: 2024-12-01 09:07:11
original
474 Les gens l'ont consulté

How to Access My FastAPI Backend from a Different Machine on the Same Local Network?

Comment accéder au backend FastAPI à partir d'une machine/IP différente sur le même réseau local ?

Lors de l'exécution d'un backend FastAPI et d'un frontend Next.js sur différentes machines sur le même réseau local, l'accès au backend depuis le frontend peut rencontrer des problèmes.

Définir l'indicateur d'hôte sur 0.0.0.0

Pour autoriser l'accès depuis différentes machines, définissez l'indicateur d'hôte sur 0.0.0.0 dans la commande uvicorn :

uvicorn main:app --host 0.0.0.0 --port 8000
Copier après la connexion

Cela permet au backend d'écouter sur toutes les adresses IPv4 du machine locale.

Ajustement des paramètres du pare-feu

Assurez-vous que le pare-feu autorise l'accès externe à le port spécifié. Créez une règle de pare-feu entrant pour Python, généralement ajoutée automatiquement lorsque Python est autorisé à communiquer via le pare-feu.

Ajustement des paramètres CORS

Configurez le middleware CORS pour activer les requêtes d'origine croisée :

origins = ['http://localhost:3000','http://192.168.178.23:3000']

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)
Copier après la connexion

Faire des requêtes HTTP en JavaScript

Dans les requêtes de récupération JavaScript, utilisez le même nom de domaine que celui saisi dans l'adresse du navigateur barre, ainsi que le numéro de port du backend :

fetch('http://192.168.178.23:8000/people', {...
Copier après la connexion

Lorsque vous testez localement sur la même machine, utilisez fetch avec le nom de domaine correct (par exemple, http://127.0.0.1:8000/people) ou relatif chemins (par exemple, « /people ») lorsque le frontend et le backend s’exécutent sur le même port et la même IP. Si l'origine du frontend diffère de celle du backend, ajoutez-la aux paramètres CORS.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal