gpt4 book ai didi

Nginx proxy_next_upstream 不起作用

转载 作者:行者123 更新时间:2023-12-03 14:30:50 28 4
gpt4 key购买 nike

我希望 nginx 首先在我的本地主机上搜索文件,如果出现 404 错误,它应该搜索服务器 1.1.1.1。

我能够获取位于本地主机上的文件,但无法从服务器 1.1.1.1 获取。

server {
listen 80;
server_name localhost;

access_log /var/log/nginx/access.log main;

location /products/ {
proxy_next_upstream http_404;

root /var/foo;
}
}

server {
listen 80;
server_name 1.1.1.1;
location /products/ {
#########
}
}

我猜 proxy_next_upstream 没有切换到服务器。

对此的任何帮助将不胜感激。

最佳答案

proxy_next_upstream指令是一个配置指令,用于控制来自一组 upstream servers 的重新请求来自 proxy_pass如果对其中之一的请求失败。没有 proxy_pass 就没有意义和一个 upstream块定义。如果您像这样代理到多个上游服务器,则可以使用它:

upstream backends {
server 192.2.0.1;
server 192.2.0.2;
...
}

server {
...

location / {
proxy_pass http://backends;
proxy_next_upstream error timeout http_404;
}
}

如果您希望 nginx 搜索磁盘上的文件,并且未找到 - 向另一台服务器的代理请求,请配置它,例如使用 try_files回退代替:
location / {
root /path/to/root;
try_files $uri @fallback;
}

location @fallback {
proxy_pass http://...
}

http://nginx.org/r/try_files有关 try_files 的更多信息指示。

关于Nginx proxy_next_upstream 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12868683/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com