nginx中忽略的位置

kcwpcxri  于 2023-08-03  发布在  Nginx
关注(0)|答案(3)|浏览(114)

我有一个简单的位置在我的nginx配置,但从来没有抓住

server {
    listen 80 default_server;
    server_name _;

    location /healthcheck {
        access_log off;
        add_header Content-Type "text/plain";
        return 200 "OK\n";
    }

    return 301 http://www.google.fr;
}

字符串
每次我去http://xxx/healthcheck的位置是没有检测到,我被重定向到谷歌。
我在档案里做错了什么?谢啦,谢啦

jhkqcmku

jhkqcmku1#

请切换301到302重定向代码并在浏览器中使用anon模式,或者更好地使用curl检查healthcheck url。举例来说:
第一个月
301总是一个问题,当你在测试的东西。
改变不会被削弱。请耐心等待。让我们知道

t98cgbkg

t98cgbkg2#

=前缀意味着指定的位置应该与请求的URL完全匹配。
这里是工作设置

server {
    listen 80 default_server;
    server_name _;
    location = /healthcheck {
        access_log off;
        add_header Content-Type "text/plain";
        return 200 "OK\n";
    }

    return 301 http://www.google.fr;
}

字符串

或者

server {
    listen 80 default_server;
    server_name _;
    location /healthcheck {
        access_log off;
        add_header Content-Type "text/plain";
        return 200 "OK\n";
    }
}

注意:修改完所有sudo nginx -s reload后,不要忘记重新加载nginx

4smxwvx5

4smxwvx53#

我也遇到了同样的问题,我想通了!nginx的return不会像PHP(或其他编程语言)那样返回,它会继续读取文件。所以,你的返回将被下一个覆盖。相反,您需要在另一个位置添加其他返回{}

server {
   listen 80 default_server;
   server_name _;

   location = /healthcheck {
      access_log off;
      add_header Content-Type "text/plain";
      return 200 "OK\n";
   }

   location / {
      return 301 http://www.google.fr;
   }
}

字符串

相关问题