puma 和 nginx 之间的 HTTP2 冲突日志

HTTP2 conflicting logs between puma and nginx

我对不同的日志感到困惑,一个报告 http2,另一个报告 http 1.0。

我不确定要引用哪个配置文件。或者如果 puma 的标准输出重定向显示 1.0 是 http 版本的正常现象?谢谢。

nginx
==> /var/log/nginx/access.log <==
[10/Oct/2021:05:45:15 +0000] "GET /users/Ovbzv/quickrates/o5l05/payment/YabQ0/pending HTTP/2.0" 200
美洲狮
==> app/log/stdout.log <==
[5626] 2604:a880:800:10::637:b005 - - [10/Oct/2021:05:45:15 +0000] "GET /users/Ovbzv/quickrates/o5l05/payment/YabQ0/pending HTTP/1.0" 200 - 0.0826

您正在查看两个不同的连接:

  1. 客户端与nginx(反向代理)的连接;和

  2. nginx与Puma的连接;

在这种特定情况下,每个连接都使用不同的 HTTP 版本,如日志所示。

这很容易实现,因为 HTTP/2 是专门为一些向后兼容性而设计的,允许在需要时将 HTTP/2 转换为 HTTP/1(转换也是如此) HTTP/1 到 HTTP/2).