首页 > 解决方案 > 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

标签: nginxhttp2puma

解决方案


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

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

  2. nginx和puma之​​间的连接;

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

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


推荐阅读