envoyproxy / envoyproxy/envoy

WebSockets with WSS are not working due to EnvoyFilter conflicts

Open
#19,645 14 comments 4 reactions 0 assignees View on GitHub
help wanted question
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

Description

*Title*: *Websockets with WSS are not working due to EnvoyFilter conflicts*

*Description*:
>An EnvoyFilter applied to an Istio configuration (e.g. to limit request size) will break the WSS and fail to initiate `101 Switching Protocols`.

*Repro steps*:
> Here's an example filter that will cause websocket functionality to stop working:

```
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: max-request-size
namespace: istio-system
spec:
configPatches:
- applyTo: HTTP_FILTER
match:
context: SIDECAR_INBOUND
listener:
filterChain:
filter:
name: envoy.filters.network.http_connection_manager
subFilter:
name: "envoy.filters.http.router"
patch:
operation: INSERT_BEFORE
value:
name: envoy.filters.http.buffer
typed_config:
'@type': type.googleapis.com/envoy.extensions.filters.http.buffer.v3.Buffer
max_request_bytes: 52428800
```

If this filter is removed WebSocket functionality returns to normal.

*Related Links*

https://github.com/istio/istio/issues/36545

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.