Forum OpenACS Q&A: Re: How to correctly configure the reverse proxy.

Collapse
Posted by Gustaf Neumann on
The mentioned issue was not so easy to reproduce, but nevertheless, it is now resolved. I just write here a quick summary for everybody interested.

The test-setup from above worked as well for Tony, but with the same versions of software, there was still the problem on the real site, using docker images. So, the suspicion was with the docker setup. Tony provided me with a setup for a very similar installation based on docker, ... but this still worked for me without problems. In the next round i build a setup with VMs, t is quite easy to slow down the network interface), ... and i finally could reproduce and resolve the issue. The problem was indeed the slow backend, which causes partial write operations. The version of reverse proxy was using already the new C-level interface for handling these cases, ... but not on all places.

There was still a potential issue for reverse proxy operations with large input (typically POST or PUT requests). NaviServer should work with these conditions, so this was clearly an issue of the rev-proxy module that it was not prepared for this. The updated version in the public repository [1] fixes this issue by using the new C-level support for the partial writes also in these cases (in essence via "ns_connchan write -buffered") ... as we all know: if it can go wrong, it will go wrong.....

Many thanks for Tony the patience and for the good test cases!

-gn

[1] https://bitbucket.org/naviserver/revproxy/