I am posting large body(~12-18kb) to the REST . The endpoint is receiving null body randomly(not every request).
When I am facing this issue:
- When SSL(self-signed) is enabled in spring-boot(https://server:port/{endpoint})
- The issue is not consistent , it happens randomly(not every request)
- Issue does not occur when the post body size is very low.
- Same request works for HTTP consistently but not with HTTPS
Project Details:
- Spring Boot 2.2.5
- TLSV12
- OpenJDK8
- Certificate is Selfsigned
What we have tried to debug
- Decrypted tcpdump shows the body is present.
- Tried changing the JVM, spring boot server configuration (heapsize,stacksize, ciphers change )
- Checked the logs, have not found anything concrete.
Comment From: wilkinsona
Thanks for the report. Spring Boot itself isn't involved at the HTTP request level. That's handled by the OS, JVM, and web container that you're using. You haven't said which container you're using, but I think that's where this needs to be addressed in the first instance. I would recommend creating a minimal example that reproduces the problem and then raising it with the Jetty, Reactor Netty, Tomcat or Undertow maintainers. If possible, please comment here with a link to any discussion with another project so that we can follow along.
Comment From: vinkvii
Adding extra note: The bug was in tomcat connector 9.0.31. Upgrading to 9.0.35 tomcat jar or upgrading to spring boot 2.3.0 will fix the issue.
Thanks