Open dominikks opened 12 months ago
Got the same problem. I tried with varying body lengths, and for me, requests up to Content-Length: 1000
go through, and everything from Content-Length: 1001
upwards gets rejected with a 400, with absolutely no indication in the tunnel logs.
Hm, this is interesting... I just rebuilt the sentry_tunnel docker image from source, following https://github.com/gbip/sentry_tunnel/blob/main/DEV.md, and see different behavior than from the docker hub image.
Requests of any (reasonable) length above 1000 bytes go through without a problem. Starting at a certain size (1024?) I see HTTP 100s before the final 200, but everything works as expected.
This worked for me as well! After rebuilding the image from source as you described all my requests go through normally. I don't even get any HTTP 100 responses.
It seems like there is something going on with the current image in Docker Hub. I'll stick to using my custom built image for now. Thanks for the hint!
For anyone who wants to use an image without this issue without building their own I threw one up at ghcr.io/joeyeamigh/sentry_tunnel/sentry_tunnel:latest
. It is working for me!
I really should setup proper tooling for this project, however I did not have time to maintain this project recently...
In our Sentry deployment, we routinely get envelopes upwards of 8 kB in size. An example envelope might look as follows:
For these large requests, the Sentry tunnel Docker container always returns an HTTP 400 error with an empty response body. Smaller requests work just fine.
I have tried sending this request directly to the Sentry tunnel container via curl and get the same error. When I send the exact same request and simply shorten the third line of the request body to
{"exception":{"values":[]}}
, the request goes through just fine (HTTP 200 OK). Therefore, I hightly suspect that the size of the request is the problem somehow.Any idea what the issue might be? Thanks in advance!