Chrome浏览器ERR_INVALID_SIGNED_EXCHANGE解决方案
这两天出现了一个奇怪的问题,不停有同事找我说A网页访问不了了
我一个后端是一脸懵逼的
一直显示ERR_INVALID_SIGNED_EXCHANGE
F12调试的异常信息是:
Signed exchange response from non secure origin is not supported.
Signed exchange response without "X-Content-Type-Options: nosniff" header is not supported.
Wrong magic string
Stream ended while reading signed exchange header.
解决过程:
1、先在返回header中加上了X-Content-Type-Options = nosniff,卒,弃之
2、在ng上加上 "add_header X-Content-Type-Options nosniff;" ,卒,再弃之
3、把注意力转移到"Signed exchange response"上
4、询问众多同事之后发现,只有chrome出线这种问题,并且当我把chrome升级之后,也访问不了了!遂定位问题为chrome升级,变更了返回头数据
5、一番沉痛的摸索之后,发现这个完美回答
大意是返回头不能是根据请求头动态改变的,从chrome 7.3开始在请求头的Accept(可被允许返回的类型)中就存在"application / signed-exchange; v = b3"这条了,如果请求头里有这条,浏览器就不知道该怎么做了
6、然后确认我代码中允许的content-type是这个
"application/*"中就包含了"application / signed-exchange",剩下的就是把它从*里去掉了。
7、produces中的各条是取并集。而我希望得到的结果是application中除了signed-exchange的所有,一番猛操作,卒(有大神会的话,麻烦告诉我下,谢谢)
8、最后退而求其次,不用*了,满足现有业务场景即可
9、发布,完美解决!
总结:
问题是chrome在从72到73升级时在请求头里加上了"application / signed-exchange; v = b3",
导致浏览器无法动态识别返回类型,解决方法就是想办法把它去了
参考资料:
关于produces中各条的执行顺序
https://blog.csdn.net/shinebar/article/details/54408020
https://blog.csdn.net/u011402896/article/details/79256686?utm_source=blogxgwz6
关于返回头中Accept的含义及其使用规则
https://tools.ietf.org/html/rfc2616#page-100
问题回答
https://support.google.com/chrome/thread/2381978?hl=en
Chrome浏览器ERR_INVALID_SIGNED_EXCHANGE解决方案相关推荐
- python+selenium自动化测试环境搭建(Python+Selenium程序执行完,chrome浏览器自动关闭解决方案)
第一步:安装python解释器 官网地址:https://www.python.org/ 我的版本是python3.9 第二步:安装pycharm编译器. 第三步:安装selenium库 1.以管理员 ...
- 2022年最新谷歌翻译chrome 浏览器翻译解决方案
由于谷歌翻译退出中国,目前,谷歌浏览器Chrome的翻译功能也无法使用,谷歌发言人通过电子邮件告诉TechCrunch,该公司由于"使用率低"的原因,已停止中国大陆的谷歌翻译服务. ...
- fiddler无法抓取chrome浏览器请求的解决方案之关闭代理软件
fiddler无法抓取chrome浏览器请求的解决方案之关闭代理软件 参考文章: (1)fiddler无法抓取chrome浏览器请求的解决方案之关闭代理软件 (2)https://www.cnblog ...
- Mac上Chrome浏览器跨域解决方案
Mac上Chrome浏览器跨域解决方案 参考文章: (1)Mac上Chrome浏览器跨域解决方案 (2)https://www.cnblogs.com/dxzg/p/9707639.html 备忘一下 ...
- chrome浏览器最小字号解决方案
背景 chrome为了提升用户体验,根据电脑分辨率等条件给浏览器设置了默认的最小字号min px,小于这个字号的字体将仍然使用min px显示 查看chrome浏览器最小字号 浏览器-->设置( ...
- Chrome浏览器12px问题-webkit-text-size-adjust: none 已失效的解决方案
对于早期的chrome, 如果要想显示12px以下的字体,一般通用的方案都是在对应的元素中添加 div {-webkit-text-size-adjust: none; } 但是我今天遇到的需求,添加 ...
- 修改 Chrome浏览器主页被劫持 chrome 主页被篡改成hao.qquu8.com的解决方案
修改 Chrome浏览器主页被劫持 chrome 主页被篡改成hao.qquu8.com的解决方案 参考文章: (1)修改 Chrome浏览器主页被劫持 chrome 主页被篡改成hao.qquu8. ...
- 禁止chrome浏览器自动填充表单的解决方案
禁止chrome浏览器自动填充表单的解决方案 参考文章: (1)禁止chrome浏览器自动填充表单的解决方案 (2)https://www.cnblogs.com/ld-swust/p/5801606 ...
- Chrome浏览器showModalDialog兼容性及解决方案
Chrome浏览器showModalDialog兼容性及解决方案 参考文章: (1)Chrome浏览器showModalDialog兼容性及解决方案 (2)https://www.cnblogs.co ...
最新文章
- js实现图片轮播效果
- 启动任务管理器命令符,doc命令
- Java线程同步:synchronized锁住的是代码还是对象
- Python爬虫教程(二)
- 以高并发著称的 Go 如何与 MySQL 搭档应对千亿级数据?
- NOTEPAD++几个有用的工具栏按钮
- 电脑上怎么做pdf文件_PDF压缩文件怎么压缩最小?请收好这些PDF压缩方法
- ejb运行程序_在哪里可以运行EJB?
- 计算机安全威胁防范,计算机网络安全威胁及防范措施
- tipask二次开发总结_tipask二次开发总结.docx
- 看了这个,再也不怕流量劫持了!
- 如何注册域名,获取个人网站网址
- android 喇叭帧动画,CSS动画效果——语音播放小喇叭
- java-net-php-python-jsp网上拍卖系统计算机毕业设计程序
- Ubuntu中Firefox不能访问简书
- unity2D:对话框Dialog——弹出、渐入渐出
- 【Axure交互教程】 锚点滚动效果
- CAD C#二次开发自动注册代码片段
- 性能测试篇-通过shell脚本优化iozone测试硬盘读写性能
- 纽卡计算机科学,纽卡斯尔大学电气工程与计算机科学
热门文章
- 这不是而且不能成为“一切照旧”
- web前端开发10大战略性技术蓝图
- Redis(八) - Redis企业实战之优惠券秒杀
- 淘宝店铺宝贝转化率该如何提升
- PacketTrace基本使用
- Android PC同步软件 类似 apple 的 itunes
- kotlin发音!这份字节跳动历年校招Android面试真题解析,附架构师必备技术详解
- 入手佳能24-70mm f/2.8L
- 《计算机视觉工程师养成计划 》·数字图像处理·数字图像特征·链码
- Hibernate_8_Person和IdCard实例_一对一关系:基于外键