Conversation
其实 2d7b0e8 已经修好了 packet-up 的上行问题,你用 main 也不会 fail |
|
就是给加个content type的模式有必要么 顺便昨天那个pr为啥没合 还打算改吗 |
因为想改为默认 fakegrpc-up,最好是有一个新的模式名,现在打算改成 TLS/REALITY H2 时默认 fakegrpc-up,否则 packet-up
等下就合,不过我给 XHTTP 加了 "stream-full" 模式后,HTTP 传输层就彻底能被取代了, |
|
To j2rong:CDN 对 gRPC 的流量限制确实是需要考虑的因素,这么说的话还是先不弄 "fakegrpc-full",保持上下行逻辑性分离吧 To jiang zhexin:严格来说 H1 支持流式上行,但实际情况是有些实现不支持,比如 Nginx 回源时,所以我说的是 H1 不太支持 |
对了,配置那里加 grpc header 的话有个缺点是下行也会被加上,然后 CDN 可能对 gRPC 有流量限制, 打算更新下这个 PR 就发版,这次的 fakegrpc 上行加正常下行,配合 header padding、xmux 等, |
感谢 jiang zhexin 提供的重要信息,已更新 #3994 的说明 |
对 cf 来说 grpc 标头后跑啥都没区别,平替其实没给它加“滥用”,只是我们不必带着 grpc 库玩了,主要是性能优化, |
|
To jiang zhexin: |
|
|
|
决定简单一点,直接给 stream-up 加 |
This comment was marked as resolved.
This comment was marked as resolved.
|
去掉就是 HTTP 1.0, Nginx 到后端只支持 HTTP 1.0 和 HTTP 1.1 且默认是 HTTP 1.0 |
|
@gubiao 改成 grpc_pass 试试 |
This comment was marked as resolved.
This comment was marked as resolved.
|
Nginx 改成: 同时在 CF 面板中开启 GRPC 支持貌似可以了,虽然是通过 Content-Type 伪装的 GRPC 但 CF 面板中的 GRPC 仍然必须开启才行。 |
|
|
To 艾莉卡:
因为比 gRPC 强,但凡看一下这个 PR 写了啥:#4042 (comment)
不是靠 gRPC 头,但凡看一下上个 PR 写了啥:#3994 (comment) |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
我的,没看到新PR😫
感觉不像。我用 都能跑通 |
|
@lxsq 所以只要加上 proxy_request_buffering off 就行,和请求的 Content-Type 无关对吧 |
|
Is it possible to add a websocket header and use stream-up for H1 CDN (like HTTPUpgrade) ? |
它默认启用
Xray 服务端会响应
它默认不启用 |
|
测试了一下,确实加上 |
|
Can you set noGRPCHeader : true |
不会设为默认 true,btw,具体会有什么问题 |
IDK i have some problem to make fake-grpc work with caddy when i use stream-up mode I don't know what the problem is |
""Breaking"": Client uses "stream-up" mode by default when using **TLS H2** or REALITY
https://t.me/projectXtls/501 #4038 (comment)
这个 PR 给 stream-up 模式的上行 POST 请求默认加上了
Content-Type: application/grpc的 header,伪装成 gRPC 以穿透一些本来会缓存上行请求、用不了流式上行的中间盒,经测试 CF H2 支持、H3 不支持,而 CFT H2、H3 均无需这个伪装XHTTP stream-up 模式已经可以取代传统的 gRPC 传输层,前者的优势主要有:
当然,若你不想把它伪装成 gRPC,可以在客户端设置
"noGRPCHeader": true,就像服务端的 noSSEHeader此外,这个 PR 修改了客户端 "auto":TLS H2 或
REALITY时 stream-up,否则 packet-up,所以有时你需要手动选 packet-up未来可能会加个 "
stream-full" 模式,即同一个 HTTP 请求同时承载上下行、完全不分离,类似于现有的 HTTP 传输层这次有没有又开启了一个崭新的时代不重要,支持一下 Project X NFT 非常重要:Announcement of NFTs by Project X #3633