关于全站http切换到https

以前没弄过这块,刚接到需求的时候没怎么考虑就打算直接将所有页面里的http换为https了。。页面少的话还好,多了就很差处理了,即便用工具将整个项目的文件所有替换,由于还要考虑改到https以后页面功能正常。并且在想确定不该该这么麻烦,会有更好的解决方案百度查了下能够用CSP设置upgrade-insecure-requests参考连接https://www.cnblogs.com/hustskyking/p/upgrade-insecure-requests.html,http://www.cnblogs.com/mafly/p/allhttps.html。能够放在服务器端或者页面头部均可以,若是项目有公共头部的话会比较好改。服务端:好比apache配置文件里加上Header add "Content-Security-Policy" "upgrade-insecure-requests"页面:<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />其中遇到了一些问题以下,预计还有些没发现的问题一、百度推送js不支持https解决:修改//push.zhanzhang.baidu.com/push.js百度实时推送js为支持https的//zz.bdstatic.com/linksubmit/push.js二、重复请求问题,一种状况发生在swipe里background属性引用了http连接的图片,一种状况发生在动画里background属性引用了http连接的图片由于页面增长了<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />属性致使动画切换的时候频繁将http转成https请求解决:background里属性改成https三、sea.js加载模块失败seajs.use("http://www.xxx.com/main.js")这样引用的时候http是没问题的,可是切换到https的时候seajs.use("https://www.xxx.com/main.js")加载失败,修改成绝对路径方式引用能够了seajs.use("main"),固然config.js要配置base的URL四、后端配置https不支持三级域名https://a.b.xxx.com解决:只有手动改咯。
相关文章
相关标签/搜索