Heim >Backend-Entwicklung >Python-Tutorial >Wie greife ich von einem anderen Computer im selben lokalen Netzwerk auf mein FastAPI-Backend zu?

Wie greife ich von einem anderen Computer im selben lokalen Netzwerk auf mein FastAPI-Backend zu?

DDD
DDDOriginal
2024-12-01 09:07:11565Durchsuche

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

Wie greife ich von einem anderen Computer/einer anderen IP im selben lokalen Netzwerk auf das FastAPI-Backend zu?

Wenn ein FastAPI-Backend und ein Next.js-Frontend auf verschiedenen Computern ausgeführt werden Wenn Sie sich im selben lokalen Netzwerk befinden, kann es beim Zugriff auf das Backend vom Frontend zu Problemen kommen.

Das Host-Flag wird auf gesetzt 0.0.0.0

Um den Zugriff von verschiedenen Maschinen aus zu ermöglichen, setzen Sie das Host-Flag im uvicorn-Befehl auf 0.0.0.0:

uvicorn main:app --host 0.0.0.0 --port 8000

Dadurch kann das Backend alle IPv4-Adressen des abhören Lokaler Computer.

Anpassen der Firewall-Einstellungen

Stellen Sie sicher, dass die Firewall externen Zugriff auf den angegebenen Computer zulässt Hafen. Erstellen Sie eine eingehende Firewall-Regel für Python, die normalerweise automatisch hinzugefügt wird, wenn Python über die Firewall kommunizieren darf.

Cors-Einstellungen anpassen

Cors-Middleware konfigurieren, um ursprungsübergreifende Anfragen zu ermöglichen:

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

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

HTTP-Anfragen in JavaScript erstellen

Verwenden Sie bei JavaScript-Abrufanfragen denselben Domänennamen, der in der Adresse des Browsers eingegeben wurde bar, zusammen mit der Portnummer des Backends:

fetch('http://192.168.178.23:8000/people', {...

Wenn Sie lokal auf demselben Computer testen, verwenden Sie fetch mit dem richtigen Domänennamen (z. B. http://127.0.0.1:8000/people) oder relativ Pfade (z. B. „/people“), wenn sowohl Frontend als auch Backend auf demselben Port und derselben IP ausgeführt werden. Wenn sich der Ursprung des Frontends vom Ursprung des Backends unterscheidet, fügen Sie ihn den CORS-Einstellungen hinzu.

Das obige ist der detaillierte Inhalt vonWie greife ich von einem anderen Computer im selben lokalen Netzwerk auf mein FastAPI-Backend zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn