Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Maybe this is a to generic question, but since we have this issue for quite a while now, I give it a shot. We have some applications which use HTTP for the connection between the client (website or fat-client) and the server. The Computer who runs this applications is in a Network behind a firewall and a proxy, the server isn't inside the same network.

The problem is that every now and then the https Request times out and depending on the Client the Application "hangs" or does some other funky stuff. The problem is definitely inside our network, because if i try the applications outside our network it works fine.

Can you give me a hint where i can most likely find the problem?

share|improve this question
    
Application uses COMET or other long-lived connections? It's probably the proxy closing connections that have exceeded it's "maximum time limit" (just guessing based on what you've given). Have you contacted the Developer of the Application yet? –  Chris S Sep 26 '12 at 13:51
    
We sat together with one of the developers, but instead of solving the problem, they programmed a new client which waits 30 seconds and re-sends the request. Eventually it works but in this 30 sec the client is "frozen". Say it is the proxy, can this be configured or should the client deal with this properly? –  KenavR Oct 2 '12 at 8:12

1 Answer 1

It would depend on why the proxy is causing interference. If this is a long-lived connection and it getting closed on some time-out you could:

  • Disable keep-alive on your web server (this would have adverse effects for all clients however, so it's probably the least desirable "solution").
  • Assuming you're using JavaScipt, you could close the connect between each request. If you're using HttpURLConnection, you can just call setRequestProperty("Connection", "close") followed by disconnect() on the object. For XMLHTTPRequest, request the connection be closed by setRequestHeader("Connection", "close"). Most of the other methods/hacks have similar properties or methods. Bonus points for detecting a Proxy (from the Via header), asking the user to set a preference for Long/Short-Lived connections, and saving it HTML5 style (eg localStorage.prefConnection="close" or something like that);

It's still possibly your proxy is doing something "crazy" with the web requests and that it has nothing to do with the above. The time-outs is only a hunch (as I've seen it before, especially with old proxies and new-fangled Ajaxy applications).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.