问题标签 [nghttp2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
240 浏览

server - 如何配置 nghttpd 以根据请求做出不同的响应?

当我启动服务器时

在另一个终端我发送一个请求

我看到服务器看到我的请求并以 404 响应。是否可以配置为根据请求进行不同的响应?(我想实现一些基本逻辑,根据请求方法,路径不同的返回码)你能给我举个例子吗?让我们说GET带有/dog路径返回的请求200,并发布请求返回404

0 投票
1 回答
593 浏览

nginx - 启用 HTTP2 服务器推送 Nginx

我安装了支持 HTTP2 的 nginx。我的 nginx 在应用程序负载均衡器后面,SSL 终止仅在 LB 发生。

我首先启用了 HTTP2_PUSH,如下所示:

但它没有用。我的浏览器调试器网络选项卡显示启动器是“索引”,而 nghttp 也没有显示任何内容。

我尝试的另一种方法是:

下一个方法将启动器从网络选项卡更改indexother,但 nghttp 工具仍确认没有发生服务器推送。

0 投票
1 回答
3417 浏览

nginx - Nginx 是否支持以明文形式从 http/1.1 升级 http/2 (h2c)

有什么方法可以在 nginx 中支持 http1.1 升级到 h2c(不在 ssl 中)?

使用 curl 测试站点http://nghttp2.org/

我得到以下结果:

但是当我访问一个 nginx 静态网站时,它会失败。

这是我的 nginx 配置文件

nginx调试信息:

0 投票
1 回答
348 浏览

c - 在 nghttp2 示例中看不到 Http-Settings 标头

我目前正在尝试学习 nghttp2 并尝试执行此页面底部提供的客户端代码:

https://nghttp2.org/documentation/tutorial-client.html

我执行了上面的 C 代码,执行以下操作:

我的服务器是 Windows IIS 10.0,我想在标头的输出中查看 http2-settings 框架。截至目前,它显示以下输出:

我需要知道我应该在代码中需要什么来查看 http 设置是否随请求一起传递。我知道以下函数可以完成与请求一起发送 SETTINGS 帧的工作:

我也不知道我们在 http2 协议中用于 HTTP-Settings 的标签是什么,就像我们有“:method”的方法,用于方案“:scheme”等。我什至在 RFC 中也找不到它。

0 投票
0 回答
54 浏览

nghttp2 - 断言“!inside_callback_”失败

我正在尝试编写一个调用另一个服务器的服务器,然后等待它的响应,然后发回它的响应。所以我创建了一个 libnghttp2_asio 客户端会话,并使用它向处理函数中的其他服务器发送请求。它适用于一些请求。不幸的是,每当我对第一台服务器进行负载测试时,我都会收到一个错误服务器:asio_client_session_impl.cc:611: void nghttp2::asio_http2::client::session_impl::enter_callback(): Assertion !inside_callback_ failed. 在一些请求之后..

我该如何解决?

0 投票
0 回答
810 浏览

c++ - 使用 C++ 进行 HTTP2 双向流式传输

我有 2 个用 C++ 编写的服务,它们必须在单独的 PoD 中运行,每个 Pod 中都有特使代理侧车。Envoy 通过 HTTP2 代理对服务的请求。我需要在这里实现双向流。我遇到了用 c/c++ 实现的 nghttp2 和 nghttp2 asio 库。但我不确定哪一个支持双向流式传输,或者使用像 grpc 这样的 rpc 会更好,它本质上为双向流式传输提供了基础设施

0 投票
1 回答
92 浏览

curl - 发送多个 HTTP2.0 请求

如何在单个 SSL 连接上发送多个 HTTP2.0 请求?

我尝试了以下,HTTP1.1 工作正常,但 HTTP2.0 失败。

正如您在上面看到的,它只是“关闭”连接。数据包捕获显示客户端没有发送请求。我怎样才能做到这一点。

我尝试了“curl --http2”,它有效,但我无法在 curl 上发送多个请求。

0 投票
0 回答
106 浏览

c++ - 如何使用 nghttp2 继续发送重试请求

我刚开始使用 libnghttp2_asio 库并运行链接中提到的示例客户端和服务器。但是,尽管发送了后续请求,但在初始失败后我无法连接到服务器,即,我想知道如果服务器没有响应或服务器已关闭,如何在一段时间内发出后续请求第一次尝试。

sess.on_error所以,我尝试在客户端代码的回调中添加这段代码

尽管这样做了,我发现sess.on_connect在初始失败后没有被调用,即为了测试这一点,我首先运行客户端而不启动服务器,但是后来,即使在启动服务器之后,连接也没有建立。

任何帮助,将不胜感激。谢谢!

0 投票
1 回答
135 浏览

c++ - nghttp2-asio :在标头中设置内容类型的正确方法

我想出了这段代码,但不确定它是否正确使用:

谁能告诉我这是否正确使用。

谢谢

0 投票
1 回答
296 浏览

server-sent-events - nghttp2:使用服务器发送的事件供 EventSource 使用

我正在使用nghttp2来实现一个 REST 服务器,它应该使用 HTTP/2 和服务器发送的事件(由浏览器中的 EventSource 使用)。但是,根据这些示例,我不清楚如何实施 SSE。使用 res.push()asio-sv.cc似乎不是正确的方法。

什么是正确的方法?我更喜欢使用 nghttp2 的 C++ API,但 C API 也可以。