didn't respect origin server Sec-WebSocket-Extension header
@vietj 已经在做这个了。
开始于 2023年2月17日。
评估
这个 Issue 还没有评估数据。
描述
Questions
Header Sec-WebSocket-Extension is used to negotiate the list of supported extensions between WebSocket client and server.
In Websocket response 101 Switch Protocols, even origin server returns without permessage-deflate extension, vertx-http-server proxies websocket message to orign server permessage-deflated.
Undoubly, it will not be functional as orgin server doesn't not support that extension.
Version
Which version(s) did you encounter this bug ?
4.3.5
Context
Do you have a reproducer?
Steps to reproduce
- create a new proxy project with below options:
val proxyClient: HttpClient = vertx.createHttpClient()
val proxyOptions = ProxyOptions()
proxyOptions.supportWebSocket = true
val proxy = HttpProxy.reverseProxy(proxyOptions, proxyClient)
proxy.origin(30000, "localhost")
val options = HttpServerOptions()
options.addWebSocketSubProtocol("tty")
vertx
.createHttpServer(options)
.requestHandler(proxy)
.listen(8888) { http ->
if (http.succeeded()) {
startPromise.complete()
println("HTTP server started on port 8888")
} else {
startPromise.fail(http.cause());
}
}
-
downlown and execute ttyd
ttyd is an open source project to serve terminal in Web interface.
Download from https://github.com/tsl0922/ttyd/releases and run with command./ttyd -p 30000 -b /ttyd bash -
Open http://localhost:8888/ttyd/
Extra
As a workaround, I turn off message compression:
options.setPerMessageWebSocketCompressionSupported(false)
- Anything that can be relevant such as OS version, JVM version
- 主要语言
- Java
- 星标
- 68
- 派生
- 38
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
eclipse-vertx/vertx-http-proxy 的其他 Issue
-
enhancement
难度 2/5 1-3 小时 新手友好度 78/100
-
enhancement
难度 4/5 3-5 天 新手友好度 56/100
-
bug
难度 3/5 1-2 天 新手友好度 68/100
-
难度 3/5 1-2 天 新手友好度 62/100
-
WebSocket: backend request left open when the client leaves before the upgrade completes可能已有人在做 @tsegismont 今天认领。 未关闭
难度 3/5 1-2 天 新手友好度 25/100
查看 eclipse-vertx/vertx-http-proxy 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
navikt/mock-oauth2-server#1129 ·
维护者通常 1 天内回复
-
bug main ui
难度 2/5 1-3 小时 新手友好度 65/100
openhab/openhab-webui#4600 ·
维护者通常 4 天内回复
-
`DeepSeekChatModel` streaming returns no content when chunks have no `id`可能已有人在做 @lejuho 今天认领。 未关闭status: waiting-for-triage
难度 2/5 1-3 小时 新手友好度 78/100
spring-projects/spring-ai#7214 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
QuiltMC/update-quilt-meta#28 ·
-
awaiting triage Documentation P3
难度 1/5 1-3 小时 新手友好度 86/100
维护者通常 1 天内回复