首頁 >後端開發 >Python教學 >如何從同一本地網路上的不同電腦存取我的 FastAPI 後端?

如何從同一本地網路上的不同電腦存取我的 FastAPI 後端?

DDD
DDD原創
2024-12-01 09:07:11544瀏覽

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

如何從同一本地網路上的不同機器/IP 存取 FastAPI 後端?

在不同機器上運行 FastAPI 後端和 Next.js 前端時同一本地網絡,從前端訪問後端可能會遇到問題。

將主機標誌設為0.0.0.0

要允許來自不同機器的訪問,請在uvicorn 命令中將主機標誌設為0.0.0.0:

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

這允許後端監聽該主機的所有IPv4 位址本機。

調整防火牆設定

確保防火牆允許外部存取指定連接埠。為 Python 建立入站防火牆規則,通常在允許 Python 透過防火牆進行通訊時自動新增。

調整 CORS 設定

設定 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 發出 HTTP 請求

在 JavaScript在取得請求中,使用與輸入相同的網域瀏覽器的位址欄,以及後端的連接埠號碼:

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

在同一台電腦上本地測試時,使用帶有正確網域的fetch (例如, http://127.0.0.1:8000/people )或相對路徑(例如“/people”),當前端和後端都在相同的連接埠和IP 上運行時。如果前端的來源與後端不同,請將其新增至 CORS 設定中。

以上是如何從同一本地網路上的不同電腦存取我的 FastAPI 後端?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn