odoo15 视频聊天打不开摄像头及麦克风问题解决
一、 问题描述
问题:当未配置https 访问非本机地址时,浏览器客户端不允许调用摄像头和麦克风。
二、原因分析:
根据提示是浏览器安全设置导致不能调用摄像头与麦克风。
度娘后发现:
新版的chrome firefox 默认只允许使用https 、127.0.0.1、localhost 地址可以调用摄像头,所以为odoo15配置ssl证书或调整浏览器设置即可解决。
三、解决方式
1、配置nginx代理https访问:
odoo官方文档:
https://www.odoo.com/documentation/15.0/administration/install/deploy.html?highlight=nginx
(1)odoo.conf打开代理模式
proxy_mode = True
(2)安装nginx
ubuntu / debian : apt install nginx
centos : yum install nginx
freebsd : pkg install nginx
windows参考:https://cloud.tencent.com/developer/article/1333800
(3)准备域名和ssl证书
ssl证书可以在阿里、Let's Encrypt等免费申请,或购买更高级别证书。
(4)配置nginx,vi /etc/nginx/sites-enabled/odoo.conf
#odoo server upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } # http -> https server { listen 80; server_name odoo.mycompany.com;
#用你的域名代替上面的odoo.mycompany.com rewrite ^(.*) https://$host$1 permanent; } server { listen 443; server_name odoo.mycompany.com;
# 用你的域名代替上面的 odoo.mycompany.com proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Add Headers for odoo proxy mode proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-HOST $host:$server_port; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl on; ssl_certificate /etc/ssl/nginx/server.crt; ssl_certificate_key /etc/ssl/nginx/server.key;
# 把你申请到的证书放到某个目录下 并替换上面的路径
ssl_session_timeout 30m; ssl_protocols TLSv1.2; # ssl_ciphers 证书的加密算法; ssl_prefer_server_ciphers off; # log access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # Redirect longpoll requests to odoo longpolling port location /longpolling { proxy_pass http://odoochat; } # Redirect requests to odoo backend server location / { proxy_redirect off; proxy_pass http://odoo; } # common gzip gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript; gzip on; }
2、浏览器设置结解决方式:
https://blog.csdn.net/zhumizhumi/article/details/104926069
1、通过浏览器设置解决
(1)浏览器方式一
选择浏览器——右键属性——在目标后面空几个格,添加代码--unsafely-treat-insecure-origin-as-secure="http地址"——重新打开浏览器就可以了
(2)浏览器解决方式二:
在浏览器地址输入:chrome://flags/ —— 在搜索栏输入:unsafe—— 输入http地址,如果是Disabled状态需要切换到enable并重启浏览器