背景
- 由于需要使用摄像头拍照,需要将原来的http升级到https,通过一顿捣鼓,升级成功。
- 不过页面加载出现了问题,具体的提示是说:你的页面是在
https
环境,但是你访问了一个资源(我这里是iframe,也可能是stylesheet等其他资源),而这个资源是在http
环境下的,浏览器不给你这样玩。 - https只能访问https的资源,也因为此修改了接口的baseURL。
解决办法
在nginx 配置中加上 add_header Content-Security-Policy "upgrade-insecure-requests";
这一条配置即可。
# 让 http 能够自动转发到 https
server {
listen 80;
server_name yourdomain.com;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate yourcrt.pem;
ssl_certificate_key yourkey.pem;
ssl_session_timeout 5m;
location / {
port_in_redirect off;
proxy_pass http://127.0.0.1:1234;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
# 加上这条即可
add_header Content-Security-Policy "upgrade-insecure-requests";
}
}
标签:http,HTTPS,over,xxx,server,header,https
From: https://www.cnblogs.com/crispyChicken/p/18457942