由于微博挂件不支持HTTPS,即使把调用的网址改成https的,也会由于返回的页面里引用的内容全部都是http而报混合内容。但是其实手工访问每个引用内容,都是支持HTTPS的,但是新浪太坑,全部按照http返回了。
最近突然在Chrome的开发者工具里看见了所有https请求都会携带一个Upgrade-Insecure-Requests:1头,Google后发现这个头允许浏览器自动升级http协议到https协议,对应的需要让服务端发来一个Content-Security-Policy: upgrade-insecure-requests,就可以让浏览器自动升级协议了。

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