Nginx 反向代理在请求静态内容时给出 404

Nginx 反向代理在请求静态内容时给出 404

我们的设置是两台服务器:

  • 一个服务WP安装
  • 另一个用于额外的自定义功能。

托管 WP 的服务器 1 使用 Nginx 作为 Web 服务器并反向代理到服务器 2。

在服务器 1 中,我们有一个简单的反向代理位置块:

location /foo/ {
   proxy_pass        http://1.1.1.2/foo/;
   proxy_set_header  X-Real-IP  $remote_addr;
   proxy_set_header  Host       $host;
   proxy_redirect off;
   proxy_intercept_errors on;
}

在服务器 2 中,我们还有一个位置块,因为平台需要进行一些 URL 重写。它有点混乱,因为平台通过 index.php?args 加载一些内容,但也有静态内容:

location /foo/ {
   index index.php;
   try_files $uri $uri/ /foo/index.php?$args;
}

我们面临的问题是,虽然 domain.com/foo/?bar、domain.com/foo/bar 运行良好,但 domain.com/foo/img/photo.png 却出现 404 错误。

我认为这是应该的try_files,但我似乎无法让它发挥作用。

答案1

这毕竟与反向代理无关。服务器 1 中还有另一个正则表达式位置块,它捕获了所有图像请求,并且它们根本没有进入反向代理。问题解决了。

再次发布答案以标记问题已解决

相关内容