0

Most of the configuration and example I've seen out there, the backend server are either on the same machine or the same network network. Has any body done this with backend servers located in different physical location, over WAN ? If you so what were your experience ?

4 Answers 4

1

You may need to tune your proxy_connect_timeout and proxy_read_timeout. Remember that connect timeout can't exceed 75 seconds, so if your backends are really slow it may not work.

0

You'll probably get bad performance since connections will always have to flow through your reverse proxy to the remote backend and back again. As coredump mentioned, you probably need to tune the proxy settings to avoid getting timeouts. Is it not possible to put the reverse proxy on the same network as your backend?

1
  • The problem is both backend are in two different physical locations and network. Maybe using a reserse proxy is a not so good idea, is there any opensource software that can help redirect the traffic over wan. I am just trying to accomplish high availability using two backend.
    – user25751
    Aug 27, 2010 at 12:37
0

If you want to load balance across geographic locations there are better ways to do this such as services like 3crowd. The use of an upstream proxy will just slow things down, you should send your users directly to the resource rather than pass it back through Nginx.

1
  • Being slowed down is what I was afraid would happen. Do you know any opensource software allowing you accomplish this?
    – user25751
    Aug 27, 2010 at 12:38
0

I currently do this with three nginx nodes via round robin DNS to third party ad serving solution. We needed to get around a few limitations for edge case users and the proxy seemed the best bet. Since our ad calls are very small and the solution we are connecting to is very robust we haven't seen a huge slow down compared to a normal request. Coredump is correct though that there needs to be some tuning of the proxy settings to make sure requests do not hang excessively long though.