Add optional loopback TLS to API startup

This commit is contained in:
Hamza Ayed
2026-10-03 17:37:58 +03:00
parent 92deb41e6d
commit b5a48c5a96
3 changed files with 35 additions and 2 deletions
+12
View File
@@ -58,6 +58,18 @@ python -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
6. افتح `http://127.0.0.1:8000/docs`.
### HTTPS محلي اختياري
يدعم `start-api.ps1` شهادة PEM ومفتاحها الخاص عند الحاجة إلى اختبار HTTPS على loopback. يجب أن تتضمن الشهادة SAN للاسم `localhost` و/أو العنوان `127.0.0.1`، وأن تكون موثوقة على جهاز العميل؛ يرفض Flutter والمتصفح الشهادة غير الموثوقة ولا نعطل التحقق منها. عرّف المسارين قبل تشغيل الخادم:
```powershell
$env:SOVEREIGNAI_TLS_CERTFILE = 'C:\path\to\localhost-cert.pem'
$env:SOVEREIGNAI_TLS_KEYFILE = 'C:\path\to\localhost-key.pem'
.\start-api.ps1
```
ثم اضبط عنوان API في التطبيق على `https://localhost:8000`. يبقى الخادم مربوطًا بـ`127.0.0.1` وحاجز loopback فعالًا؛ هذا إعداد تطوير محلي ولا يجهز شهادة عامة أو وصولًا من أجهزة أخرى. لا تضع المفتاح الخاص في Git، واترك المتغيرين فارغين معًا لاستخدام HTTP المحلي الافتراضي.
## نقاط التجربة
- `GET /health` للتأكد من أن الخدمة تعمل.
- `POST /v1/chat/completions` لإرسال رسالة.