在Firefox上网站正常,但在Safari上出现错误(kCFErrorDomainCFNetwork error 303),Chrome也无法访问(net::ERR_SPDY_PROTOCOL_ERROR)。

7
自从几天前开始,我的网站在Mac OS X上的Safari和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)告诉我问题出在我的代码中,但我无法找出错误在哪里。你有什么线索吗?非常感谢。
4个回答

13

我们遇到了一个关于 nginx 和HTTP/2的问题,导致Safari浏览器显示相同的错误,而Internet Explorer浏览器显示类似的错误。

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

http2_max_field_size 16k;
http2_max_header_size 128k;

问题已经消失了。


嗨,感谢您的回复!不幸的是,我没有对托管方配置进行控制。此外,他们使用的是Apache而不是Nginx,所以... - Al3
事实证明,一旦 cookie 变得太大,就会达到默认的 http2_max_header_size,从而引发问题。 - sjagr
经过数小时在Safari上的死胡同测试,这是我们的解决方案。非常感谢! - theofanis

1

我的问题在重新加载页面后消失了。所以每次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;

问题已经解决。

0
问题是由于Safari在处理该站点的本地数据时保存了太多数据而未能正确处理。我经常使用archive.org,因此我有很多LocalStorage和Cookie数据。这些数据仅存在于我的主浏览器Safari中,而不在任何其他浏览器中,这就解释了为什么他们可以正常浏览该网站。
所以,解决方案如下:
  1. 进入Safari > 首选项 > 隐私
  2. 搜索受影响的域名(对我来说是“archive.org”)
  3. 点击删除
  4. 问题就解决了!
以下是一个视频,展示了问题出现前后的情况:https://imgur.com/gallery/d1P1FCi

1
请不要在多个问题中添加相同的答案。请回答最好的一个,并标记其他重复的答案,一旦您获得足够的声望。如果它不是重复的,那么请根据问题调整帖子并标记为未删除。 - Bhargav Rao

0

当我在本地引用文件时,突然出现了这个问题,因为它们是在父目录中引用的。解决方案是移动到子目录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接