"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية الوصول إلى واجهة FastAPI الخلفية من جهاز آخر على نفس الشبكة المحلية؟

كيفية الوصول إلى واجهة FastAPI الخلفية من جهاز آخر على نفس الشبكة المحلية؟

تم النشر بتاريخ 2024-11-18
تصفح:854

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

كيفية الوصول إلى واجهة FastAPI الخلفية من جهاز/IP مختلف على نفس الشبكة المحلية

للوصول إلى واجهة FastAPI الخلفية من جهاز مختلف على نفس الشبكة المحلية، فمن الضروري التأكد مما يلي:

1. تكوين علامة المضيف:

اضبط علامة المضيف على 0.0.0.0 عند تشغيل خادم FastAPI. وهذا يسمح للخادم بالاستماع إلى جميع عناوين IP المتاحة على الجهاز المحلي.

2. تعديلات جدار الحماية:

تأكد من تكوين جدار الحماية للسماح بالاتصالات الواردة على المنفذ المحدد لتطبيق FastAPI. قد يتطلب هذا إنشاء قاعدة جدار حماية وارد لبيثون.

3. إعدادات CORS:

تمكين وتكوين CORS (مشاركة الموارد عبر الأصل) في تطبيق FastAPI الخاص بك. يسمح هذا بطلبات عبر النطاقات بين الواجهة الأمامية والخلفية، والتي قد تحدث عند استخدام عناوين IP وأرقام منافذ مختلفة.

4. طلبات HTTP في JavaScript:

في واجهة JavaScript الأمامية، استخدم الأصل/عنوان URL الصحيح عند تقديم طلبات الجلب إلى الواجهة الخلفية لـ FastAPI. يجب أن يتطابق الأصل مع اسم المجال المكتوب في شريط عنوان المتصفح.

مثال لإعدادات CORS لـ FastAPI:

origins = ['http://localhost:3000', 'http://192.168.x.x:3000']

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

الاستخدام الصحيح للأصل في JavaScript:

fetch('http://192.168.x.x:3000/people', {...

باتباع هذه الخطوات، يمكنك الوصول بنجاح إلى واجهة FastAPI الخلفية الخاصة بك من جهاز مختلف على نفس الشبكة المحلية.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3