HTTP headers only apply during the initial WebSocket handshake. After that, the TCP connection’s protocol changes from HTTP to WebSockets, which don’t have anything like headers.
Worth noting though that someone reported a problem with Azure rejecting WebSocket messages longer than 4KB. We will send up to 16KB messages if the resource being transferred is larger than 4K; this tends to happen more with blobs than with documents.
But it didn’t seem to increase the log level. Do I need to fully recompile?
What do I know so far?
a) direct connection to the Sync Gateway without Traefik doesn’t cause the web socket to close
b) Traefik doesn’t log anything when this happens (seems like nothing wrong happened)
c) Sync Gateway states ERROR decompressing frame: inputLen=4090, remaining=0, output=0, error=unexpected EOF when this happens, connection is terminated.
My theory is that Traefik is somehow cutting the packet and when it gets to the validation phase on Sync Gateway, it gets rejected and the connection is closed.
In order to talk with Traefik developers and say ‘Hey! There is a problem with your software’, I need to have more data to fundament my claim. Developers usually don’ t believe something is wrong with their software unless we are able to prove them wrong with another program. Isn’t that right?
Sync Gateway says that the inputLen is 4090 bytes and there is a unexpected EOF. I would like to track what is being sent from the client side to Sync Gateway and know the length of the packet that is being sent just before the close happens.
Can you please advise on how to increase the log level of couchbase-lite-core?