如何解决 Codeigniter 中的 Error 520 原始错误?

How to solve Error 520 original error in Codeigniter?

我的 Codeigniter 包与 Cloudflare 连接。如果我的包裹与 Cloudflare 连接。它不工作,它显示 "Error 520: Web server is returning an unknown error".

没有 Cloudflare,它工作正常。

我登录了,成功了。然后,我注销并尝试再次登录,我看到了您所说的 520 错误。

我认为这与您的重定向有关URL。

https://www.plac24.com/user/login?rdr=http%3A%2F%2Fwww.plac24.com%2F

当您将他们重定向到您的网站时,您需要 http://?

Cloudflare 背后的问题不处理超过 32KB 的 HTTP headers 请求。如果您正在存储 multiple/large cookie,请注意,它们可能会被截断,这可能会阻止用户访问您的网站,并且它在没有 Cloudflare 的情况下也能正常工作。

520 error problem fixed by while using session stored in the database. and it's working fine with Cloudflare.

Session 存储参考:- https://codeigniter.com/userguide3/libraries/sessions.html#database-driver

我想添加我对 Cloudflare 520 问题的修复。我在 nginx.conf.

中的 nginx 服务器配置中设置了内容安全策略
add_header Content-Security-Policy "default-src 'self' https://www.google-analytics.com ;  
img-src 'self' https://*.ggpht.com ;

我在此 header 中插入了换行符,但从未注意到或关心过,因为它适用于所有浏览器。删除我的换行符看起来像下面解决了我的问题。

add_header Content-Security-Policy "default-src 'self' https://www.google-analytics.com ;  img-src 'self' https://*.ggpht.com ;

您可能 运行 不会像我一样陷入确切的问题,但这里的教训是检查您的 header 并尝试有选择地删除它们,直到您可以隔离或排除这些问题作为问题。希望这可以为您节省 20 美元的 cloudflare 支持订阅费用。