Для изолированных сетей - без публичного домена, без исходящего интернета, ограниченное соединение.
Браузеры требуют доверенный 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 # Правый клик на ca.crt → Установить сертификат → Доверенные корневые ЦСmacOS
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 находится в «Доверенных корневых ЦС», а не в промежуточных |
| Сертификат истёк | Выполните sudo bedrud cert renew для перегенерации (автообновление каждые 24 часа в 09:00) |
| Несовпадение CN | Современные браузеры игнорируют поле CN — SAN является авторитетным. Используйте встроенную генерацию сертификатов установщика (рекомендуется) или добавьте -addext 'subjectAltName=...' к команде openssl |
| Отсутствуют SANs | Современные браузеры игнорируют поле CN. Используйте встроенную генерацию сертификатов установщика (рекомендуется) или добавьте -addext 'subjectAltName=...' к команде openssl |
См. также
- Руководство по установке - способы установки
- Справочник конфигурации - полные параметры конфигурации