للشبكات المعزولة - لا نطاق عام، لا إنترنت صادر، اتصال محدود.
تتطلب المتصفحات HTTPS موثوقًا للوصول إلى الكاميرا/الميكروفون عبر WebRTC. الشهادات الموقعة ذاتيًا تعمل لكنها تظهر تحذيرات. لإعداد نظيف، أنشئ CA خاصًا ووزّعه على العملاء.
إنشاء CA خاص وشهادة خادم
تتطلب المتصفحات الحديثة Subject Alternative Names (SANs) في الشهادات. يقوم المثبت بذلك تلقائيًا.
الخيار 1: استخدام المثبت (موصى به)
يقوم أمر bedrud install بإنشاء شهادات موقعة ذاتيًا مع SANs مناسبة لعناوين IP والمجالات المحددة:
sudo bedrud install --tls --ip YOUR_SERVER_IPلتضمين اسم مجال أيضًا:
sudo bedrud install --tls --ip YOUR_SERVER_IP --domain your.domain.comالخيار 2: إنشاء الشهادة يدويًا
إذا كان الإنشاء المدمج للمثبت لا يتناسب مع سير عملك، أضف علامات -addext إلى أوامر openssl:
#### Ed25519 (matches Bedrud's built-in generation, recommended)
```bash
openssl genpkey -algorithm ed25519 -out ca.key
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
-subj "/CN=Bedrud Internal CA"
openssl genpkey -algorithm ed25519 -out server.key
openssl req -new -key server.key -out server.csr \
-subj "/CN=<your-server-ip-or-hostname>" \
-addext "subjectAltName=IP:YOUR_SERVER_IP"
openssl x509 -req -days 1825 -in server.csr \
-CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt \
-addext "subjectAltName=IP:YOUR_SERVER_IP"
sudo ./bedrud install --tls --cert server.crt --key server.key --ip YOUR_SERVER_IPECDSA P256 (alternative)
openssl ecparam -genkey -name prime256v1 -out ca.key
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
-subj "/CN=Bedrud Internal CA"
openssl ecparam -genkey -name prime256v1 -out server.key
openssl req -new -key server.key -out server.csr \
-subj "/CN=<your-server-ip-or-hostname>" \
-addext "subjectAltName=IP:YOUR_SERVER_IP"
openssl x509 -req -days 1825 -in server.csr \
-CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt \
-addext "subjectAltName=IP:YOUR_SERVER_IP"
sudo ./bedrud install --tls --cert server.crt --key server.key --ip YOUR_SERVER_IPRSA (legacy compatibility, larger keys)
openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
-subj "/CN=Bedrud Internal CA"
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr \
-subj "/CN=<your-server-ip-or-hostname>" \
-addext "subjectAltName=IP:YOUR_SERVER_IP"
openssl x509 -req -days 365 -in server.csr \
-CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt \
-addext "subjectAltName=IP:YOUR_SERVER_IP"
sudo ./bedrud install --tls --cert server.crt --key server.key --ip YOUR_SERVER_IPإضافة CA إلى مخازن ثقة العملاء
وزّع ca.crt على جميع أجهزة العملاء:
Windows
certmgr.msc # Right-click ca.crt → Install Certificate → Trusted Root CAsmacOS
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain ca.crtLinux (Debian/Ubuntu)
sudo cp ca.crt /usr/local/share/ca-certificates/bedrud-ca.crt
sudo update-ca-certificatesLinux (Arch/Fedora)
sudo cp ca.crt /etc/pki/ca-trust/source/anchors/bedrud-ca.crt
sudo update-ca-trustأعد تشغيل المتصفحات، ثم افتح https://YOUR_SERVER_IP (استبدل بعنوان IP الفعلي للخادم، مثلاً 192.168.1.100). بعد إعادة التشغيل، ستكون الشهادة موثوقة وسيعمل الوصول إلى الكاميرا/الميكروفون بدون تحذيرات.
حل المشكلات
| المشكلة | الحل |
|---|---|
| المتصفح لا يزال يحذر من عدم ثقة الشهادة | امسح ذاكرة التخزين المؤقت للمتصفح، أعد التشغيل بعد تثبيت CA |
| الكاميرا/الميكروفون محظوران | تحقق أن CA في Trusted Root CAs، وليس وسيطًا |
| الشهادة منتهية الصلاحية | شغل sudo bedrud cert renew لإعادة التوليد (تجديد تلقائي كل 24 ساعة عند 09:00) |
| عدم تطابق CN | المتصفحات الحديثة تتجاهل حقل CN — SAN هو المرجع. استخدم إنشاء الشهادات المدمج في المثبت (موصى به) أو أضف -addext 'subjectAltName=...' إلى أمر openssl |
| SANs مفقودة | المتصفحات الحديثة تتجاهل حقل CN. استخدم إنشاء الشهادات المدمج في المثبت (موصى به) أو أضف -addext 'subjectAltName=...' إلى أمر openssl |
انظر أيضًا
- دليل التثبيت - طرق التثبيت
- مرجع الإعدادات - جميع خيارات الإعداد