在不同機器上運行 FastAPI 後端和 Next.js 前端時同一本地網絡,從前端訪問後端可能會遇到問題。
要允許來自不同機器的訪問,請在uvicorn 命令中將主機標誌設為0.0.0.0:
uvicorn main:app --host 0.0.0.0 --port 8000
這允許後端監聽該主機的所有IPv4 位址本機。
確保防火牆允許外部存取指定連接埠。為 Python 建立入站防火牆規則,通常在允許 Python 透過防火牆進行通訊時自動新增。
設定 CORS 中間件以啟用跨來源請求:
origins = ['http://localhost:3000','http://192.168.178.23:3000'] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], )
在 JavaScript在取得請求中,使用與輸入相同的網域瀏覽器的位址欄,以及後端的連接埠號碼:
fetch('http://192.168.178.23:8000/people', {...
在同一台電腦上本地測試時,使用帶有正確網域的fetch (例如, http://127.0.0.1:8000/people )或相對路徑(例如“/people”),當前端和後端都在相同的連接埠和IP 上運行時。如果前端的來源與後端不同,請將其新增至 CORS 設定中。
以上是如何從同一本地網路上的不同電腦存取我的 FastAPI 後端?的詳細內容。更多資訊請關注PHP中文網其他相關文章!