Apabila menjalankan bahagian belakang FastAPI dan bahagian hadapan Next.js pada mesin yang berbeza pada rangkaian tempatan yang sama, mengakses bahagian belakang dari bahagian hadapan mungkin menghadapi masalah.
Untuk membenarkan akses daripada mesin yang berbeza, tetapkan bendera hos kepada 0.0.0.0 dalam arahan uvicorn:
uvicorn main:app --host 0.0.0.0 --port 8000
Ini membenarkan bahagian belakang mendengar pada semua alamat IPv4 mesin tempatan.
Pastikan bahawa Firewall membenarkan akses luaran ke port yang ditentukan. Cipta peraturan tembok api masuk untuk Python, biasanya ditambahkan secara automatik apabila Python dibenarkan berkomunikasi melalui Firewall.
Konfigurasikan perisian tengah CORS untuk mendayakan permintaan silang asal:
origins = ['http://localhost:3000','http://192.168.178.23:3000'] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], )
Dalam permintaan pengambilan JavaScript, gunakan nama domain yang sama seperti yang dimasukkan dalam bar alamat penyemak imbas, bersama-sama dengan nombor port hujung belakang:
fetch('http://192.168.178.23:8000/people', {...
Apabila menguji secara setempat pada mesin yang sama, gunakan fetch dengan nama domain yang betul (cth., http://127.0.0.1: 8000/orang) atau laluan relatif (cth., '/people') apabila kedua-dua bahagian hadapan dan bahagian belakang dijalankan pada port dan IP yang sama. Jika asal bahagian hadapan berbeza daripada bahagian belakang, tambahkannya pada tetapan CORS.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Bahagian Belakang FastAPI Saya daripada Mesin Berbeza pada Rangkaian Tempatan yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!