我建立了一个可以正常工作的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: '[email protected]',
    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>


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

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”安装而不是从源代码中安装,则该目录不存在),但仍然没有乐趣。

最佳答案

您可以创建从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

10-08 16:24