Tomcat 8.5中Nio和Nio2连接器之间的意外行为差异

时间:2018-07-30 21:47:48

标签: nio2 tomcat8.5

我在Tomcat 8.5.23中使用NIO2连接器遇到了一些特殊的行为

这是我的使用方式:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" 
           SSLEnabled="true"
           sslImplementationName="org.apache.tomcat.util.net.openssl.OpenSSLImplementation"
           maxThreads="200"
           minSpareThreads="25"
           scheme="https"
           secure="true"
           keystoreFile="/path/to/keystore.jks"
           keystorePass="key-pass"
           clientAuth="false"
           ciphers="long,list,of,ciphers"/>

现在发生的是,如果我碰到POST,并且请求包含标头:'Cache-Control: max-age=0',那么当我尝试检索它们时,表单参数不存在。我尝试在过滤器链的最开始放入过滤器以尝试抓住它们和/或主体本身,但是为时已晚-主体已被消耗,并且没有参数。但是,请求结构确实表明主体的大小正确,因此似乎不是网络问题。

我通常认为我的配置不正确,但是在Http11NioProtocol下一切正常。

有什么建议-除了不使用Nio2之外?

0 个答案:

没有答案