Jetty Apache Camel - 最大 headers 大小 - 431 错误

Jetty Apache Camel - max headers size - 431 error

我已经在 apache camel 中定义了休息端点(在 karaf 中运行)并且我收到了非常大的 (>8500) header。 Jetty 抛出 431 状态代码(请求 Header 字段太大)。是否有可能避免检查 headers 大小(只是暂时的)或更改限制?我这样使用码头:

restConfiguration()
        .component("jetty")
        .port("7777");


RestDefinition restDefinition = rest(REST_PATH)
    .consumes("application/json")
    .produces("application/json");

restDefinition.get("view2").to("direct:getView2");

有这个方法

.clientRequestValidation(false)

...但它不起作用

您可以在 Camel jetty 组件上配置 requestHeaderSize 选项,以设置更高的值。请参阅文档:https://camel.apache.org/components/latest/jetty-component.html

由于您使用 rest-dsl,您可以通过 restConfiguration 上的 componentProperty 设置组件选项。请参阅其余的 dsl 文档:https://camel.apache.org/manual/latest/rest-dsl.html

如果直接在您的路由中需要,配置请求 header 大小的最简单方法是:(尽管我认为它会影响整个“码头”组件)

camelContext.getComponent("jetty", JettyHttpComponent.class).setRequestHeaderSize(2000);