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.
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.
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-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=["*"], )
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!