-1

我已经建立了一个可以工作的 FreeSwitch 盒子,并且可以使用 ws 连接在桌面上进行内部调用。稍后,我将盒子配置为使用 SSL 和 Letsencrypt 颁发的证书。SSL 证书由https://www.sslshopper.com/ssl-checker.htm验证,并且 Chrome 中的 https:// 连接显示良好的锁定标志。

然后我将代码从 ws 更改为 wss(见下文;公共 IP 地址被屏蔽。),但在 Chrome 中出现“net::ERR_CERT_COMMON_NAME_INVALID”错误。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>sipjs-webphone</title>
    <script src="./sip-0.15.1.min.js"></script>
    <script>

    var config = {  uri: '1000@1xx.xxx.xxx.xxx', 
    transportOptions: { wsServers: ['wss://1xx.xxx.xxx.xxx:7443'] }, 
    authorizationUser: '1000', password: '1234' };

    var ua = new SIP.UA(config);

    ua.on("connected", function() {
        console.log("Connected!");
    });
    </script>
</head>
<body>
</body>
</html>

顺便说一句,我已经尝试更改为以下 2 个地方:

1)用来自 Letsencrypt 的有效证书/密钥附加或替换 /etc/freeswitch/tls/wss.pem,不高兴。

echo '' >> /usr/local/freeswitch/certs/wss.pem && cat cert.pem >> /usr/local/freeswitch/certs/wss.pem && cat privkey.pem >> /usr/local/freeswitch/certs/wss.pem && cat chain.pem >> /usr/local/freeswitch/certs/wss.pem

2)在 /usr/local/freeswitch/certs 中创建了 wss.pem(如果通过 'apt install freeswitch' 安装,而不是通过编译源代码,则该目录不存在),但仍然没有乐趣。

4

1 回答 1

0

您可以创建从 letencrypt 证书到 /etc/freeswitch/tls/wss.key 和 /etc/freeswitch/tls/wss.crt 的符号链接

如果存在 wss.key 和 wss.crt,则 FreeSwitch 不使用 wss.pem 文件。

如果 freeswitch 使用默认键从源代码构建,然后 /etc/freeswitch 文件夹到您的位置。

信息。从软件包安装的 FreeSwitch 使用 /etc/freeswitch,而不是 /usr/local/freeswitch

于 2019-09-18T07:07:53.370 回答