网站在 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 中不可用