http - Nginx 反向代理 301 重定向

标签 http redirect nginx centos reverse-proxy

我正在尝试以一种我不确定是否可行的方式设置 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/

相关文章:

通过带有凭据的代理进行 Java 请求

javascript - 如何在独立函数中使用 AngularJS api?

linux - NGINX:允许多个端口可用于 https + 将所有 http 重定向到 https

apache - htaccess : Can match one slash, 但不是双斜杠

ios - IPP 通过 HTTP : getting 400 bad request as a response

node.js - 如何找出 Node.js 中的 HTTP 服务器有多少个已连接的客户端?

php - 使用 nginx 上游的 Wordpress 常量重定向

ssl - 即使我有 key 和证书,nginx 也不支持加密协议(protocol)

Node.js Socket.io WebSocket Nginx 配置?

nginx - docker pull push 登录成功后无法正常工作