网站在 Firefox 上正常,但在 Safari 上不行(kCFErrorDomainCFNetwork 错误 303),Chrome 也不行(net::ERR_SPDY_PROTOCOL_ERRO

Posted

技术标签:

【中文标题】网站在 Firefox 上正常,但在 Safari 上不行(kCFErrorDomainCFNetwork 错误 303),Chrome 也不行(net::ERR_SPDY_PROTOCOL_ERROR)【英文标题】:Website OK on Firefox but not on Safari (kCFErrorDomainCFNetwork error 303) neither Chrome (net::ERR_SPDY_PROTOCOL_ERROR) 【发布时间】:2018-09-30 07:49:36 【问题描述】:

从前几天开始,我的网站无法在 Safari 或 Mac OS X 上的 Chrome 上加载(在家里或我的客户端计算机上)。它在 Firefox (Mac OS & Windows) 和 IE / Edge 上运行良好,但在 Chrome (Windows) 上运行良好。 在此之前它运行良好,并且几周后没有更新。

我在 Safari 上遇到了这个错误

Failed to load resource: The operation couldn’t be completed. (kCFErrorDomainCFNetwork error 303.)

这个在 Chrome 上

 Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR

好像和 HTTP/2 有关,但我不知道是什么问题。

我看到一个解决方法是清除缓存和 cookie。 我做到了,它在我第一次加载网站时在 Chrome 上运行,但是当我导航到另一个页面时,错误再次出现。 我也刷新打开的套接字,没有效果。

在 Safari 上,刷新缓存和 cookie 无效。

我的主机 (OVH) 告诉我问题出在我的代码中,但我无法确定错误可能出在哪里。

你有什么线索吗?

非常感谢

【问题讨论】:

【参考方案1】:

nginx 和 HTTP/2 出现问题,导致 Safari 出现相同错误,Internet Explorer 出现类似错误。

当我们将 nginx 缓冲区调整为:

http2_max_field_size 16k;
http2_max_header_size 128k;

问题消失了。

【讨论】:

您好,感谢您的回复!不幸的是,我没有主机配置的手。此外,他们使用 Apache 而不是 Nginx,所以... 事实证明,一旦cookie变得太大,就会达到默认的http2_max_header_size,从而导致问题中提到的问题。 经过数小时的 Safari 死胡同测试,这就是我们的解决方案。非常感谢!【参考方案2】:

我的问题在重新加载页面后消失了。所以它总是在 nginx 重新加载后的第一次加载时显示错误。 显示的错误日志:

2018/10/21 06:26:54 [crit] 9439#9439: *54 open() "/var/cache/nginx/proxy_temp/2/01/0000000012" failed (13: Permission denied) while reading upstream, client: 37.9.113.93, server: anvileight.com, request: "GET /ar/ HTTP/1.1", upstream: "http://unix:/run/a8/gunicorn.sock:/ar/", host: "anvileight.com"

我的问题是 nginx 有指令:

user       deploy deploy;

确实,该文件夹的权限不正确:

ll /var/cache/nginx/proxy_temp
total 40K
drwx------ 102 www-data www-data 4.0K Jan  6  2018 0
drwx------ 102 www-data www-data 4.0K Jan  6  2018 1

当我把它改成

user       www-data www-data;

问题解决了

【讨论】:

【参考方案3】:

问题是由于 Safari 为相关站点保存了过多的本地数据,并且未能正确处理这些数据。我使用archive.org 很多,所以我有很多用于该站点的LocalStorage 和Cookie 数据。这些数据仅在我的主浏览器 Safari 中,而不在我的任何其他浏览器中,这一事实解释了为什么他们可以很好地浏览该网站。

所以,解决办法:

    进入 Safari > 首选项 > 隐私 搜索受影响的域名(对我来说这是“archive.org”) 点击删除 问题消失了!

这是一个显示前后问题的视频:https://imgur.com/gallery/d1P1FCi

【讨论】:

请不要添加same answer to multiple questions。一旦您获得足够的声誉,就回答最好的一个并将其余的标记为重复。如果不是重复的,请根据问题调整帖子并标记以取消删除。【参考方案4】:

当文件在我的本地父目录中被引用时,这突然开始发生在我身上。解决方案是移动到子目录。

【讨论】:

以上是关于网站在 Firefox 上正常,但在 Safari 上不行(kCFErrorDomainCFNetwork 错误 303),Chrome 也不行(net::ERR_SPDY_PROTOCOL_ERRO的主要内容,如果未能解决你的问题,请参考以下文章

html 表单中的输入文本框在 Firefox 上正常工作 在 Chrome 和 Safari 上不工作

Div 在 Firefox、Safari、Chrome 等中显示,但在 Internet Explorer 中不显示

jquery cycle.js 分页器图形在 Safari、Firefox、Chrome 和 Opera 中工作,但在 IE 中消失

绝对定位 div 的边距底部在 Chrome 中工作,但在 Safari 或 Firefox 中不可用

网站链接无法在 google chrome 上运行,但在 Firefox 上运行良好

iPhone Safari/Chrome 上的重定向过多