AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1091902
Accepted
Barry Chapman
Barry Chapman
Asked: 2022-02-01 18:45:49 +0800 CST2022-02-01 18:45:49 +0800 CST 2022-02-01 18:45:49 +0800 CST

为什么将 100k JSON 文件发布/上传到 AWS CloudFront 终端节点会导致 504 错误?

  • 772

在 wordpress 站点上,我们有请求进入 CloudFront,它将请求发送到通过 ELB 的源(如有必要),并发送到将为请求提供服务的两个或三个实例。

大多数请求都有效,但是当我们将 JSON 文件上传到 时admin-ajax.php,会导致我们从 CloudFront 日志中捕获的 504 错误:

2022-01-31  21:32:24    MIA3-C2 1462    67.190.247.197  POST    d2q8ixmwt0jy43.cloudfront.net   /wp-admin/admin-ajax.php    504 https://xxxxxxx.com/wp-admin/edit.php?post_type=elementor_library&tabs_group=library    Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/97.0.4692.99%20Safari/537.36%20Edg/97.0.1072.76 -   -   Error   Ae0gLzThCiZR2N5D8gLO6s-o8IwwlmYrxWvUbUgr1A64_nMpzN0qRg==    evolvetelemed.com   https   167737  30.107  -   TLSv1.3 TLS_AES_128_GCM_SHA256  Error   HTTP/2.0    -   -   64798   30.107  OriginCommError text/html   1033    -   -

该错误似乎是OriginCommError,但我不明白为什么会出现该错误。在我们的 Web 服务器上跟踪实例上的日志表明请求甚至没有到达那里。

我不确定为什么有些请求会起作用而有些则不会。再进一步总结一下,当媒体库中的二进制文件上传到 时async-upload.php,它可以工作。

我们nginx用作前端的网络服务器,php-fpm用于处理 php。

amazon-ec2 wordpress amazon-web-services amazon-cloudfront amazon-elb
  • 1 1 个回答
  • 436 Views

1 个回答

  • Voted
  1. Best Answer
    Tim
    2022-02-01T23:11:29+08:002022-02-01T23:11:29+08:00

    这不是一个完整的答案,但评论太长了,它可能会给你一些想法。一旦我们得到真正的答案,我会删除它。

    一些想法:

    • 根据此页面,字段“30.107”是“耗时”(处理请求) 。30s 是一个标准的 http 超时长度,这很有趣。
    • 504 状态响应意味着“网关超时”。更多细节是“服务器在充当网关或代理时,没有收到来自上游服务器的及时响应,它需要访问以完成请求。”
    • OriginCommError 未在 CloudFront 错误日志中定义。但是“ClientCommError - 由于服务器和查看器之间的通信问题,对查看器的响应被中断。” 表明与服务器的连接已中断,而不是未建立。
    • 字段“sc-content-len”定义为“响应的 HTTP Content-Length 标头的值”。值为“1033”。这表明某种回复正在返回到负载均衡器。

    所有这些都向我表明 CloudFront 已将请求发送到 ALB,但在某些时候出现了超时。我建议您找到 ALB 日志,看看他们是否对此有所了解。我想查看它尝试将请求发送到哪个服务器,并仔细检查它是否到达。

    • 3

相关问题

  • 权限被拒绝(公钥)。从本地 Ubuntu 到 Amazon EC2 服务器的 SSH

  • 管理员如何管理他们的 EC2 EBS 和快照?

  • 云有多大?[关闭]

  • EC2 映像启动

  • 如何将安全组添加到正在运行的 EC2 实例?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve