Comments (5)
The same issue occurs in Mironaut version 4.3.6 so it looks like it is not purely related to 4.4.0 version
⚠️ Are we doing something wrong or do we miss some configuration for WSS?
@iNviNho I don't think (yet) that you're doing anything wrong. I have been investigating and was able to reproduce it in multiple Micronaut 4.x versions as well. It seems to be specific to the SSL implementation. I will update as I learn more.
from micronaut-core.
@iNviNho I have tracked it down to an issue with our ALPN implementation. We do not currently support WebSockets over an HTTP 2 connection (as far as I know, Netty does not yet have an official implementation of RFC8441), but we are advertising support for HTTP 2 in the TLS handshake when making the initial connection to the endpoint. I believe that is what is causing the server to drop the connection.
You can work around it for now by setting micronaut.http.client.alpn-modes=http/1.1
.
I will need to implement a fix to force the WebSocket client to only advertise HTTP 1.1 in the TLS handshake.
from micronaut-core.
Thank you @jeremyg484 .
Setting
micronaut:
http:
client:
alpn-modes: http/1.1
didn't work but setting alpnMode on the @client already makes a difference
@Client(value = "talos-ws", alpnModes = "http/1.1")
after that we got the error
invalid WebSocket Extension handshake for "permessage-deflate; server_no_context_takeover; client_no_context_takeover"
which we fixed by enabling compression
compression:
enabled: false
and now everything works as expected 🍾
Thank you so far for your assistance!
from micronaut-core.
Note that alpn-modes
is an array, so I believe in YAML it would need to be:
micronaut:
http:
client:
alpn-modes: [http/1.1]
from micronaut-core.
The same issue occurs in Mironaut version 4.3.6 so it looks like it is not purely related to 4.4.0 version
Are we doing something wrong or do we miss some configuration for WSS?
from micronaut-core.
Related Issues (20)
- Micronaut Cors does not work as expected when we define custom HttpServerFilters HOT 6
- Code generated with `@Around` does not retain (?) visibility modifier of original class
- Action Required: Fix Renovate Configuration
- Micronaut not picking up spring @RestController apis defined in 3rd party spring boot jar
- Graal annotation processor doesn't mark package-private injected fields for reflective access HOT 1
- Multiple client filters in Micronaut HOT 8
- Connection closed before response was received on concurrent requests HOT 1
- Micronaut v4.3.1 causing stackoverflow exception on java compilation HOT 3
- @RequestScope cannot be used with HTTP client blocking requests HOT 7
- Instantiation methods in introspection of abstract class tries to instantiate the abstract class
- NoSuchMethodError/KSP generated bean definition constructor missing parameters for class with AOP advice HOT 2
- Non-nullable Long Kotlin data class field initialized with 0 when field is missing in payload HOT 3
- After upgrading to 4.4.0 missing Kotlin data class non nullable String values cause a NPE HOT 1
- While upgrading to micronuat 4.4 from 3.8 HTTPResponse Body content is in unpooledContent and body is null HOT 6
- Rendering issue in docs
- Injection of map of beans does not work if some of the services are injected by implementation type HOT 1
- Micronaut Management stopped working after migration to Micronaut 4.5.3 HOT 5
- Micronaut 3 to 4 migration issue: request.getHaaders.getFirst (key, type.class) can no longer convert HOT 1
- CompletableFuture endpoint with a redirect response returns a 200
- Micronaut 4 throws 404 error for an endpoint having special characters in path parameter HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from micronaut-core.