一、 問題描述
問題:當未配置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並重啟瀏覽器