6

私はスプリング ブート (現在は 1.2.1) を使用しておりHttpConfiguration、Jetty のクラスに存在するデフォルトの 8k リクエスト ヘッダー サイズ制限を増やす必要があります。経由JettyEmbeddedServletContainerFactoryで入手EmbeddedServletContainerCustomizerできるものを調べていますが、それを変更する方法がわかりません。

私も同様に見ましたJettyServerCustomizer-それを介して桟橋を手に入れることができることは理解していますが、ここでもServer変更する方法はありませんHttpConfiguration.

どんなヒントでも大歓迎です。

4

1 に答える 1

12

a を使用してJettyServerCustomizerを再構成できますHttpConfigurationが、Jetty の構成モデルには少し埋もれています。

@Bean
public EmbeddedServletContainerCustomizer customizer() {
    return new EmbeddedServletContainerCustomizer() {

        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
            if (container instanceof JettyEmbeddedServletContainerFactory) {
                customizeJetty((JettyEmbeddedServletContainerFactory) container);
            }
        }

        private void customizeJetty(JettyEmbeddedServletContainerFactory jetty) {
            jetty.addServerCustomizers(new JettyServerCustomizer() {

                @Override
                public void customize(Server server) {
                    for (Connector connector : server.getConnectors()) {
                        if (connector instanceof ServerConnector) {
                            HttpConnectionFactory connectionFactory = ((ServerConnector) connector)
                                    .getConnectionFactory(HttpConnectionFactory.class);
                            connectionFactory.getHttpConfiguration()
                                    .setRequestHeaderSize(16 * 1024);
                        }
                    }
                }
            });
        }
    };

}
于 2015-02-05T11:14:33.167 に答える