【问题标题】:Nginx 502 bad gateway + PHP 7.2 FPMNginx 502 坏网关 + PHP 7.2 FPM
【发布时间】:2019-06-07 12:50:39
【问题描述】:

我一直在尝试解决我在 Nginx 获得 502 错误网关时遇到的问题。

最困难的部分是日志对此几乎毫无用处。

我使用的是 VueJS,所以请求/响应更多的是 REST 架构。

它目前正在做的只是试图返回公司信息,但我收到网关错误。问题是,这完全是随机的。

(注意:CORS 错误是由于 502 Bad Gateway 而发生的)

它只会偶尔发生,但不会一直发生。当我通过名为 Restlet Client 的 chrome 扩展程序发出请求时,效果非常好。

查看 Nginx 错误,是 Peer Reset Connection:

2019/01/13 14:40:07 [错误] 5467#5467: *537 recv() 在从上游读取响应标头时失败(104:对等方重置连接),客户端:192.168.252.1,服务器:_ ,请求:“GET /v1/company/index/HTTP/1.1”,上游:“fastcgi://unix:/run/php/php7.2-fpm.sock:”,主机:“whitty.vm:130” , 推荐人:“http://whitty.vm:8080/company

出现的 PHP FPM 错误是:

[2019 年 1 月 13 日 14:40:07] 警告:[pool www] 子 6063 在开始后 9328.151921 秒后退出信号 11 (SIGSEGV) [13-Jan-2019 14:40:07] 注意:[pool www] child 6410 开始

有没有人知道为什么会发生这种情况,您需要更多信息吗?

【问题讨论】:

  • 这是来自 nginx 不接受您的应用服务器的响应(Laravel?);你需要处理 COR。
  • 我确实处理过cors,它确实可以正常工作。不,不是 Laravel,自定义框架
  • 显然不是,蒂姆。实际上,您将 Access-Control-Allow-Origin 添加到您的请求标头中,而这实际上是一个响应标头。祝你好运。
  • 我删除了它们。仍然出现错误。话虽如此,我在 Chrome 上做了一个空缓存和硬重新加载并删除了 cookie。您认为 Chrome 缓存或会话会产生影响吗?
  • 有趣的是,我的 phpmyadmin cookie 似乎正在影响结果。

标签: php nginx


【解决方案1】:

所以 502 Nginx 错误很难诊断。在网上进行了无数研究后,我得出的结论是,每个 502 Bad Gateway 都可能由多种问题引起。

在我的情况下,我使用 RedbeansPHP,它是 DB 层。当用户登录时,我将他们的信息存储到 $_SESSION 中。但是,与其挑选我应该只将哪些信息存储到会话中,我只是将 RedbeansPHP 对象存储到会话中。

改成数组再存储后,就没有问题了。

【讨论】:

    猜你喜欢
    • 2011-04-06
    • 1970-01-01
    • 2012-04-17
    • 2011-03-12
    • 1970-01-01
    • 2012-02-05
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多