Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

didn't respect origin server Sec-WebSocket-Extension header

Fermée
#41 2 commentaires 0 réactions 1 personne assignée Voir sur GitHub

@vietj y travaille déjà.

Depuis le 17/2/2023.

Évaluation

Cette issue n'a pas encore été évaluée.

Description

bug
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
  1. 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());
        }
      }
  1. 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

  2. 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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de eclipse-vertx/vertx-http-proxy

Toutes les issues de eclipse-vertx/vertx-http-proxy

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.