这两天出现了一个奇怪的问题,不停有同事找我说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解决方案相关推荐

  1. python+selenium自动化测试环境搭建(Python+Selenium程序执行完,chrome浏览器自动关闭解决方案)

    第一步:安装python解释器 官网地址:https://www.python.org/ 我的版本是python3.9 第二步:安装pycharm编译器. 第三步:安装selenium库 1.以管理员 ...

  2. 2022年最新谷歌翻译chrome 浏览器翻译解决方案

    由于谷歌翻译退出中国,目前,谷歌浏览器Chrome的翻译功能也无法使用,谷歌发言人通过电子邮件告诉TechCrunch,该公司由于"使用率低"的原因,已停止中国大陆的谷歌翻译服务. ...

  3. fiddler无法抓取chrome浏览器请求的解决方案之关闭代理软件

    fiddler无法抓取chrome浏览器请求的解决方案之关闭代理软件 参考文章: (1)fiddler无法抓取chrome浏览器请求的解决方案之关闭代理软件 (2)https://www.cnblog ...

  4. Mac上Chrome浏览器跨域解决方案

    Mac上Chrome浏览器跨域解决方案 参考文章: (1)Mac上Chrome浏览器跨域解决方案 (2)https://www.cnblogs.com/dxzg/p/9707639.html 备忘一下 ...

  5. chrome浏览器最小字号解决方案

    背景 chrome为了提升用户体验,根据电脑分辨率等条件给浏览器设置了默认的最小字号min px,小于这个字号的字体将仍然使用min px显示 查看chrome浏览器最小字号 浏览器-->设置( ...

  6. Chrome浏览器12px问题-webkit-text-size-adjust: none 已失效的解决方案

    对于早期的chrome, 如果要想显示12px以下的字体,一般通用的方案都是在对应的元素中添加 div {-webkit-text-size-adjust: none; } 但是我今天遇到的需求,添加 ...

  7. 修改 Chrome浏览器主页被劫持 chrome 主页被篡改成hao.qquu8.com的解决方案

    修改 Chrome浏览器主页被劫持 chrome 主页被篡改成hao.qquu8.com的解决方案 参考文章: (1)修改 Chrome浏览器主页被劫持 chrome 主页被篡改成hao.qquu8. ...

  8. 禁止chrome浏览器自动填充表单的解决方案

    禁止chrome浏览器自动填充表单的解决方案 参考文章: (1)禁止chrome浏览器自动填充表单的解决方案 (2)https://www.cnblogs.com/ld-swust/p/5801606 ...

  9. Chrome浏览器showModalDialog兼容性及解决方案

    Chrome浏览器showModalDialog兼容性及解决方案 参考文章: (1)Chrome浏览器showModalDialog兼容性及解决方案 (2)https://www.cnblogs.co ...

最新文章

  1. js实现图片轮播效果
  2. 启动任务管理器命令符,doc命令
  3. Java线程同步:synchronized锁住的是代码还是对象
  4. Python爬虫教程(二)
  5. 以高并发著称的 Go 如何与 MySQL 搭档应对千亿级数据?
  6. NOTEPAD++几个有用的工具栏按钮
  7. 电脑上怎么做pdf文件_PDF压缩文件怎么压缩最小?请收好这些PDF压缩方法
  8. ejb运行程序_在哪里可以运行EJB?
  9. 计算机安全威胁防范,计算机网络安全威胁及防范措施
  10. tipask二次开发总结_tipask二次开发总结.docx
  11. 看了这个,再也不怕流量劫持了!
  12. 如何注册域名,获取个人网站网址
  13. android 喇叭帧动画,CSS动画效果——语音播放小喇叭
  14. java-net-php-python-jsp网上拍卖系统计算机毕业设计程序
  15. Ubuntu中Firefox不能访问简书
  16. unity2D:对话框Dialog——弹出、渐入渐出
  17. 【Axure交互教程】 锚点滚动效果
  18. CAD C#二次开发自动注册代码片段
  19. 性能测试篇-通过shell脚本优化iozone测试硬盘读写性能
  20. 纽卡计算机科学,纽卡斯尔大学电气工程与计算机科学

热门文章

  1. 这不是而且不能成为“一切照旧”
  2. web前端开发10大战略性技术蓝图
  3. Redis(八) - Redis企业实战之优惠券秒杀
  4. 淘宝店铺宝贝转化率该如何提升
  5. PacketTrace基本使用
  6. Android PC同步软件 类似 apple 的 itunes
  7. kotlin发音!这份字节跳动历年校招Android面试真题解析,附架构师必备技术详解
  8. 入手佳能24-70mm f/2.8L
  9. 《计算机视觉工程师养成计划 》·数字图像处理·数字图像特征·链码
  10. Hibernate_8_Person和IdCard实例_一对一关系:基于外键