Шаг 2. В DNS прописываем запись для внешнего адреса, на котором опубликован модуль
Как правило, делается через личный кабинет провайдера, который обслуживает домен клиента.
Шаг 3. Выпускаем SSL сертификат
Если у клиента уже есть сертификат, то копируем файлы (сам сертификат, ключ) на сервер с модулем. Если сертификата нет, то выпускаем (Тут очень много вариантов решения).
При перевыпуске сертификата необходимо перезапустить службу, чтобы модуль подгрузил обновленные файлы сертификата.
В данном примере показано, как настроить WSS-соединение с использованием Nginx или Apache
Настройка для Nginx
Открыть конфигурационный файл Nginx:
nano/etc/nginx/nginx.conf
Добавить конфигурацию для WSS:
server{listen443ssl;server_nameyour_domain.com;ssl_certificate/etc/nginx/ssl/server.crt; # Или путь к вашему SSL-сертификату от Let's Encryptssl_certificate_key/etc/nginx/ssl/server.key;location/ws/{proxy_passwss://freepbx.example.com:8078; # Адрес вашего WebSocket сервераproxy_http_version1.1;proxy_set_headerUpgrade $http_upgrade;proxy_set_headerConnection"Upgrade";proxy_set_headerHost $host;proxy_set_headerX-Real-IP $remote_addr;proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_headerX-Forwarded-Proto $scheme;proxy_read_timeout86400;proxy_set_headerOrigin""; }}
Проверить конфигурацию и перезапустить Nginx:
nginx-tsystemctlrestartnginx
Настройка для Apache
Открыть конфигурационный файл Apache:
nano/etc/httpd/conf.d/ssl.conf
Добавить или изменить блок конфигурации для WSS:
<VirtualHost *:443>ServerNameyour_domain.comSSLEngineonSSLCertificateFile/etc/httpd/ssl/server.crt# Или путь к вашему SSL-сертификату от Let's EncryptSSLCertificateKeyFile/etc/httpd/ssl/server.key<Location/ws/>ProxyPass"wss://freepbx.example.com:8078/"# Адрес вашего WebSocket сервераProxyPassReverse"wss://freepbx.example.com:8078/"ProxyPreserveHostOnRequestHeadersetConnection"upgrade"RequestHeadersetUpgrade"websocket"</Location></VirtualHost>