didn't respect origin server Sec-WebSocket-Extension header
@vietj y travaille déjà.
Depuis le 17/2/2023.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
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
- Langage dominant
- Java
- Étoiles
- 68
- Forks
- 39
- Merge moyen
- 2 j 43 min
- PR mergées (30 j)
- 5
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de eclipse-vertx/vertx-http-proxy
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Testing of different HTTP versionsPeut-être pris @tsegismont l’a pris il y a 3 jours. Ouverte
eclipse-vertx/vertx-http-proxy#165 · 1 personne assignée ·
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
-
ExceptionHandler for send requests and proxy responses in `HttpProxy`/`ReverseProxy`Peut-être à nouveau libre @tsegismont l’a pris il y a 578 jours, et aucune pull request n’est ouverte. Ouverteenhancement
eclipse-vertx/vertx-http-proxy#114 · 2 commentaires · 1 personne assignée ·
Toutes les issues de eclipse-vertx/vertx-http-proxy
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
[Bug]: REST API URL starting with "http" but no scheme (e.g. httpbin.org/get) is not given an http:// prefixPeut-être pris @ItsDeadlyProgrammer l’a pris il y a 1 jour. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
appsmithorg/appsmith#42471 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
code-maintenance
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
bug priority: medium Review effort [1-5]: 3 status: needs-triage type: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
carlos-emr/carlos#5258 ·
Les mainteneurs répondent en général sous 1 jour