Apache php-fpm json 响应有时会被截断
Apache php-fpm json response sometimes truncated
最近我们已经从 EC2 切换到 ECS Fargate。这两个都是 运行 通过 AWS 应用程序平衡器。我们 运行 在我们的一个端点上遇到了一个问题,其中 JSON 被随机 运行 分类,缺少响应的结尾,或者有时它表现得很好。有趣的是,响应的长度始终为 44149。无论哪种方式,响应仍然为我们提供 200。
据我所知,我们正尝试在我们的新系统上使用与以前相同的 PHP 和 Apache 设置。然而,在新的 ECS 系统上,我们已经改为使用 PHP-FPM 而不是 apache mod.
版本:PHP-FPM7.2,Apache 2.4.29
新 ECS 系统 t运行 响应,传输 42.40 kB(113.36 kB 大小),headers:
HTTP/2 200 OK
date: Tue, 07 Jul 2020 15:02:39 GMT
content-type: application/json
content-length: 44149
server: Apache/2.4.29 (Ubuntu)
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
x-frame-options: SAMEORIGIN
vary: Accept-Encoding
content-encoding: gzip
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
referrer-policy: origin-when-cross-origin
content-security-policy: default-src * data: blob: 'unsafe-inline' 'unsafe-eval'
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2
新 ECS 系统工作响应,传输 43.68 kB(116.67 kB 大小),与 t运行cated
时具有相同的 headers
旧的 EC2 系统工作响应,传输 43.67 kB(116.67 kB 大小),headers:
HTTP/2 200 OK
date: Tue, 07 Jul 2020 15:18:54 GMT
content-type: application/json
content-length: 44149
server: Apache
x-frame-options: SAMEORIGIN
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
vary: Accept-Encoding
content-encoding: gzip
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
referrer-policy: origin-when-cross-origin
content-security-policy: default-src * data: blob: 'unsafe-inline' 'unsafe-eval'
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2
我完全不知道如何解决这个问题,我检查过的所有 Apache 和 PHP 设置在新旧系统上都是相同的。
已经有一个与此类似的堆栈溢出问题,但它针对的是 Nginx 和其他与我不同的基础设施。那里提供的解决方案要么不起作用,要么不适用。
问题是由于 AWS 负载均衡器中的一个错误,他们的一位工程师为我应用了一个修复程序,其中涉及升级平衡器以使用更大的节点。案例 ID 7164651631 如果其他人遇到同样的问题并希望在与 AWS 支持人员交谈时参考案例。
最近我们已经从 EC2 切换到 ECS Fargate。这两个都是 运行 通过 AWS 应用程序平衡器。我们 运行 在我们的一个端点上遇到了一个问题,其中 JSON 被随机 运行 分类,缺少响应的结尾,或者有时它表现得很好。有趣的是,响应的长度始终为 44149。无论哪种方式,响应仍然为我们提供 200。
据我所知,我们正尝试在我们的新系统上使用与以前相同的 PHP 和 Apache 设置。然而,在新的 ECS 系统上,我们已经改为使用 PHP-FPM 而不是 apache mod.
版本:PHP-FPM7.2,Apache 2.4.29
新 ECS 系统 t运行 响应,传输 42.40 kB(113.36 kB 大小),headers:
HTTP/2 200 OK
date: Tue, 07 Jul 2020 15:02:39 GMT
content-type: application/json
content-length: 44149
server: Apache/2.4.29 (Ubuntu)
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
x-frame-options: SAMEORIGIN
vary: Accept-Encoding
content-encoding: gzip
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
referrer-policy: origin-when-cross-origin
content-security-policy: default-src * data: blob: 'unsafe-inline' 'unsafe-eval'
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2
新 ECS 系统工作响应,传输 43.68 kB(116.67 kB 大小),与 t运行cated
时具有相同的 headers旧的 EC2 系统工作响应,传输 43.67 kB(116.67 kB 大小),headers:
HTTP/2 200 OK
date: Tue, 07 Jul 2020 15:18:54 GMT
content-type: application/json
content-length: 44149
server: Apache
x-frame-options: SAMEORIGIN
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
vary: Accept-Encoding
content-encoding: gzip
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
referrer-policy: origin-when-cross-origin
content-security-policy: default-src * data: blob: 'unsafe-inline' 'unsafe-eval'
strict-transport-security: max-age=31536000
X-Firefox-Spdy: h2
我完全不知道如何解决这个问题,我检查过的所有 Apache 和 PHP 设置在新旧系统上都是相同的。
已经有一个与此类似的堆栈溢出问题,但它针对的是 Nginx 和其他与我不同的基础设施。那里提供的解决方案要么不起作用,要么不适用。
问题是由于 AWS 负载均衡器中的一个错误,他们的一位工程师为我应用了一个修复程序,其中涉及升级平衡器以使用更大的节点。案例 ID 7164651631 如果其他人遇到同样的问题并希望在与 AWS 支持人员交谈时参考案例。