Java 使用SSL时REST响应超过8KB错误

Java 使用SSL时REST响应超过8KB错误,java,rest,ssl,Java,Rest,Ssl,我们有一个发送文件内容的REST服务。 定义如下: @GET @Path("/files/{fileName}") @Produces(MediaType.APPLICATION_OCTET_STREAM) Response getFileContent(@PathParam("fileName") @WebParam(name = "fileName") String fileName); 该应用程序正在Tomcat中运行,并定义了一个连接器,如: <Connector

我们有一个发送文件内容的REST服务。 定义如下:

  @GET
  @Path("/files/{fileName}")
  @Produces(MediaType.APPLICATION_OCTET_STREAM)
 Response getFileContent(@PathParam("fileName") @WebParam(name = "fileName") String fileName);
该应用程序正在Tomcat中运行,并定义了一个连接器,如:

<Connector SSLEnabled="true" clientAuth="false" keystoreFile="c:\temp\ssl_key.ppk" keystorePass="changeme" maxThreads="200" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS"/>
有趣的是,对于小文件,在PhaseInterceptorChain.doIntercept(Message)行308中调用MessageSenderInterceptor$MessageSenderIndingInterceptor,而对于大于8KB的文件,则使用正在使用块的JAXRoutInterceptor。 另一方面,字节从0到8191的第一个块似乎发送时没有任何错误,而尝试发送从8192到16383的第二个块时抛出上述异常。 尝试从firefox调用REST时出现错误:

An error occurred during a connection to localhost:8443. SSL received a record with an incorrect Message Authentication Code. Error code: SSL_ERROR_BAD_MAC_READ
当从本地主机执行时,也从另一台计算机执行时,会出现相同的错误

对于大文件(大文件意味着大约20KB的文件:-)的ajax请求会给出相同的异常,而对于较小的文件则可以

然而,当使用WizToold.org上的RESTClient时,大文件也会正常接收。
由于到目前为止所有的调查和尝试都失败了,我想知道是否有人知道什么可以帮助我。

我在Apache Tomcat/8.0.47上遇到了这个问题。我尝试了一切,但最终我只是使用org.apache.coyote.http11.Http11Nio2Protocol而不是org.apache.coyote.http11.Http11NioProtocol,这为我解决了这个问题。

我在apache Tomcat/8.0.47上遇到了这个问题。我尝试了一切,但最终我只是使用org.apache.coyote.http11.Http11Nio2Protocol而不是org.apache.coyote.http11.Http11NioProtocol,这为我解决了这个问题

An error occurred during a connection to localhost:8443. SSL received a record with an incorrect Message Authentication Code. Error code: SSL_ERROR_BAD_MAC_READ