0

我正在创建 Spring Api 网关。背后的微服务之一使用 websockets 与客户端进行通信。当提到微服务将数据返回到我得到的网关时io.netty.handler.codec.http.websocketx.CorruptedWebSocketFrameException: Max frame length of 65536 has been exceeded.

我已经扩展了 GatewayAutoConfiguration 的 bean webSocketService 并通过 ReactorNettyRequestUpgradeStrategy 设置了 maxFramePayloadLength 属性。我还创建了自定义 ReactorNettyWebSocketClient 和覆盖方法execute来更改 ReactorNettyWebSocketSession 的参数。不幸的是,它没有帮助。

我发现 HttpClientConnect 中的 maxFramePayloadLength 属性是由 HttpClientConfiguration 提供的,我所做的更改没有效果。

有没有办法改变 maxFramePayloadLength 的默认值?

4

1 回答 1

0

您可以将其指定为application.properties/application.yml文​​件中的属性,无需修改任何其他内容。

spring.cloud.gateway.httpclient.websocket.max-frame-payload-length

作为参考,这是带有Spring Cloud Gateway 属性的列表

于 2019-10-03T11:54:32.257 回答