加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

Nginx proxy_next_upstream不起作用

发布时间:2020-12-13 21:04:45 所属栏目:Nginx 来源:网络整理
导读:我希望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/ { p

我希望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指令是一个配置指令,用于在对其中一个请求失败的情况下通过proxy_pass控制来自一组upstream servers的重新请求.没有proxy_pass和定义的上游块就没有意义.如果您代理多个上游服务器,您可以使用它,如下所示:

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://...
}

有关try_files指令的更多信息,请参见http://nginx.org/r/try_files.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读