2014-09-19 261 views
2

我试图设置一个nginx代理的方式,我不知道会工作...基本上,我有3个服务器运行。服务器A是一个nginx反转代理。服务器B和C是后端服务器。当客户端请求http://domain.com/file.jpg时,它将命中服务器A而不是将请求传递回服务器B.该文件可能位于服务器B或C.如果服务器B没有该文件,则它将301重定向发送到服务器C上的文件。问题在于,301会回到浏览器并更改客户端中的URL。Nginx反向代理301重定向

我想知道是否有可能让301留在内部。 Nginx会看到并遵循301到服务器C上正确的文件位置,但客户端不会知道它们的区别。客户端应该无法分辨文件是在B还是在C,甚至不知道它们的地址...

谢谢!

+0

你可以用'error_page'指令捕获301重定向。 – 2014-09-19 05:42:15

回答

-1

使用上游为反向代理设置负载平衡,它会填充来自2后端服务器的自动获取数据。

+0

即使数据仅存在于两台后端服务器之一上? – Bob 2014-09-19 03:44:21

+0

添加更多说明 – Suji 2014-09-19 03:48:17

+0

使用位置和检查请求之前,直接向上游 – levutechcom 2014-09-19 03:50:06