我正在尝试以一种我不确定是否可行的方式设置 nginx 代理...基本上,我有 3 个服务器在运行。服务器 A 是 nginx 反向代理。服务器 B 和 C 是后端服务器。当客户端请求 http://domain.com/file.jpg ,它到达服务器 A 而不是将请求传递回服务器 B。该文件可能在服务器 B 或 C 上。如果服务器 B 没有该文件,它会向服务器 C 上的文件发送 301 重定向。这个问题是 301 返回到浏览器并更改客户端中的 URL。
我想知道是否可以将 301 保留在内部。 Nginx 会看到并跟随 301 到服务器 C 上的正确文件位置,但客户端不知道其中的区别。客户端不应该能够分辨文件是在 B 还是 C,甚至不知道它们的地址......
谢谢!
最佳答案
您可以考虑为此使用 proxy_next_upstream。
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
关于http - Nginx 反向代理 301 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25925891/