【问题标题】:Cloudflare returning 520 due to empty server response from Heroku由于 Heroku 的空服务器响应,Cloudflare 返回 520
【发布时间】:2023-04-04 14:15:01
【问题描述】:

多年来一直运行良好的 Rails 应用突然开始返回 Cloudflare 520 错误。具体来说,api.exampleapp.com 后端调用返回 520,而对前端 www.exampleapp.com 子域的命中工作正常。

这方面的难点在于我的配置或代码都没有改变。 Cloudflare 认为这是在 Heroku 服务器返回空响应时发生的。

> GET / HTTP/1.1
> Host: api.exampleapp.com
> Accept: */*
> Accept-Encoding: deflate, gzip
> 
{ [5 bytes data]
* TLSv1.2 (IN), TLS alert, close notify (256):
{ [2 bytes data]
* Empty reply from server
* Connection #0 to host ORIGIN_IP  left intact
curl: (52) Empty reply from server
error: exit status 52

在 Heroku 端,当我点击任何这些 url 时,我的日志似乎甚至没有注册请求。我还仔细检查了我的 SSL 设置(在安装在 Heroku 上的 Cloudflare 创建的原始证书),以防万一,它似乎是正确的并且没有过期。

我已经束手无策了。该应用程序已经关闭了几天,用户在抱怨,尽管是付费客户,但两个客户服务团队都没有回应。我的开发运维知识相当有限,因此,非常感谢任何帮助或线索!

【问题讨论】:

    标签: ssl heroku cloudflare


    【解决方案1】:

    将您的网络服务器日志更改为 info 状态,并查看您的应用程序在处理连接时是否不超过 HTTP/2 directive

    如果是这种情况,请尝试增加指令大小:

    #nginx
    server {
        ...
        http2_max_field_size 64k;
        http2_max_header_size 64k;
    }
    

    【讨论】:

      【解决方案2】:

      欢迎来到俱乐部:https://community.cloudflare.com/t/sometimes-a-cf-520-error/288733 这似乎是 7 月下旬引入的 Cloudflare 问题,影响了数百个运行非常不同配置的站点。自首次报告该问题以来已近一个月,Cloudflare “修复”了两次,但它仍然存在。非常沮丧。

      【讨论】:

      • 修复了吗?我现在仍然有这个问题。
      • 不适合我,也不适合 Cloudflare 社区中的数十人 - community.cloudflare.com/t/…。但 Cloudflare 似乎并不在意——他们认为我们都一定做错了什么。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 2019-04-09
      相关资源
      最近更新 更多