avatar
@bangbang93

解决微博挂件不支持HTTPS导致浏览器报混合内容

12/8/2016, 6:04:32 PM

由于微博挂件不支持HTTPS,即使把调用的网址改成https的,也会由于返回的页面里引用的内容全部都是http而报混合内容。但是其实手工访问每个引用内容,都是支持HTTPS的,但是新浪太坑,全部按照http返回了。

最近突然在Chrome的开发者工具里看见了所有https请求都会携带一个Upgrade-Insecure-Requests:1头,Google后发现这个头允许浏览器自动升级http协议到https协议,对应的需要让服务端发来一个Content-Security-Policy: upgrade-insecure-requests,就可以让浏览器自动升级协议了。

https

于是在nginx上配
more_set_headers "Content-Security-Policy: upgrade-insecure-requests";

依赖headers-more-nginx-module

%e6%9c%aa%e5%91%bd%e5%90%8d