From: David O. <da...@qc...> - 2017-03-31 14:47:22
|
Hi, I've been trying to get revproxy to work with a timeout. So if the backend doesn't reply within $timeout secs, then the connection is closed. What I thought we could do was set a timeout when creating the callback to call backendReply. Then when the callback is triggered with $when eq "t" we could return a 504 then close the connection. This is an outline if what I am trying: https://bitbucket.org/davidqc/revproxy/commits/658704673bcb07d27962a9b4d4a89a07a64c5843 This appears to work initally. When accessing a backend page which takes over 10 seconds to respond, the client gets a 504. But it appears that things aren't cleaned up properly and the 2 socket callbacks persist after the timeout. [image: Inline images 2] This has the effect that the proxy is essentially unresponsive and doesn't forward any more requests (even the Control Ports are not accessible locally). If I restart the backend server, that brings the proxy back to life. The proxy and the backend are running on different ports on the same server in this case. Should this approach work or have I misunderstood how ns_connchan timeouts should work? Thanks, -- David |