最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

关于在外网环境下浏览器不能调用浏览器录音功能问题解决

业界 admin 39浏览 0评论
  1. 问题 :
    在浏览器里无法调起获取音频的录音接口,JS报未能加载组件的错误等类似异常,原因是如果浏览器觉得用户所处的行为不安全,就不会加载录音功能,导致组件无法获取

  2. 浏览器打开录音功能允许用户在浏览器内进行录音操作的条件(经同事测试IE最新版没有这个限制,针对大部分浏览器而言有此限制)
    ① 地址为 localhost:
    ② 访问的地址是安全的即 https

  3. 解决方案:申请证书,将http升级为https协议,我这里直接使用nginx进行代理转发从而实现http升级https,当然你也可以直接在项目里面进行协议升级,nginx配置如下

以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。

server {
listen 443 ssl;
server_name xxxx;  # localhost修改为您证书绑定的域名。
ssl on;   #设置为on启用SSL功能。
root /usr/local/Web/src/;
index index.html index.htm;
ssl_certificate cert/xxxxxx.pem;   #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/xxxxx.key;   #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers xxxxxx;  #使用此加密套件。
ssl_protocols TLSv1;   #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location  ~* .(html|js|css)$ {
root /usr/local/Web/src/;   #站点目录。
index index.html index.htm;
}
}

上面配置的含义是访问https的时候nginx根据location的正则表达式匹配跳转到对应

  1. 问题 :
    在浏览器里无法调起获取音频的录音接口,JS报未能加载组件的错误等类似异常,原因是如果浏览器觉得用户所处的行为不安全,就不会加载录音功能,导致组件无法获取

  2. 浏览器打开录音功能允许用户在浏览器内进行录音操作的条件(经同事测试IE最新版没有这个限制,针对大部分浏览器而言有此限制)
    ① 地址为 localhost:
    ② 访问的地址是安全的即 https

  3. 解决方案:申请证书,将http升级为https协议,我这里直接使用nginx进行代理转发从而实现http升级https,当然你也可以直接在项目里面进行协议升级,nginx配置如下

以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。

server {
listen 443 ssl;
server_name xxxx;  # localhost修改为您证书绑定的域名。
ssl on;   #设置为on启用SSL功能。
root /usr/local/Web/src/;
index index.html index.htm;
ssl_certificate cert/xxxxxx.pem;   #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/xxxxx.key;   #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers xxxxxx;  #使用此加密套件。
ssl_protocols TLSv1;   #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location  ~* .(html|js|css)$ {
root /usr/local/Web/src/;   #站点目录。
index index.html index.htm;
}
}

上面配置的含义是访问https的时候nginx根据location的正则表达式匹配跳转到对应

发布评论

评论列表 (0)

  1. 暂无评论