【问题标题】:NGINX health check requires an upstreamNGINX 健康检查需要上游
【发布时间】:2019-01-21 02:30:00
【问题描述】:

我的位置如下:

location / {
set $api_name "Web";

proxy_intercept_errors on;

set $upstream upstream_a;

if ( $kms_in_cookie != "not_set" ) {
    set $upstream $kms_in_cookie;
}

if ( $upstream_in_cookie != "not_set" ) {
    set $upstream $upstream_in_cookie;
}

if ($cookie_zak != "") {
    set $upstream upstream_b;
}

proxy_pass http://$upstream;

health_check uri=/healthcheck  interval=30 fails=3 passes=3;}

一旦我重新启动我的 NGINX,它就失败了:

nginx: [emerg] health check requires an upstream in

有人对此有想法吗?这个错误是什么意思?

【问题讨论】:

  • 我也有同样的bug,你知道是什么意思吗?
  • 同样的错误。这有什么更新吗?
  • 据我所知,当使用 health_check 时,您不能使上游可变。
  • 我有同样的错误。我还没有找到解决方案。

标签: nginx nginx-location


【解决方案1】:

我遇到了同样的问题。通过对其进行试验,问题似乎是proxy_pass 指令中的变量名。如果您使用有效上游的名称,则问题已解决。

显然,您正试图根据一些请求元数据来引导流量,而上述建议对此无济于事。你的情况并不少见,所以我希望这能奏效。看起来像 nginx 中的一个错误,或者至少是文档中的一个空白。

【讨论】:

    猜你喜欢
    • 2019-06-05
    • 1970-01-01
    • 2014-10-02
    • 2021-09-13
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 2018-06-15
    相关资源
    最近更新 更多