nginx - puma 和 nginx 之间的 HTTP2 冲突日志
问题描述
我对不同的日志感到困惑,一个报告 http2,另一个报告 http 1.0。
我不确定要引用哪个配置文件。或者如果 puma 的 stdout 重定向显示 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
解决方案
您正在查看两个不同的连接:
客户端和 nginx 之间的连接(反向代理);和
nginx和puma之间的连接;
在这种特定情况下,这些连接中的每一个都使用不同的 HTTP 版本,如日志所示。
这很容易实现,因为 HTTP/2 专门设计时考虑了一些向后兼容性,允许在需要时将 HTTP/2 转换为 HTTP/1(将 HTTP/1 转换为 HTTP/2 也是如此)。