Добрый день,

У нас есть задача часть трафика отправлять на тестовый стенд. Решили этот вопрос таким образом

 split_clients "${shard_key}" $test_or_204 {
    5%  test;
    *   mirror_204;
  }

  upstream test {
    server test:1234;
  }

  location /original {
  ...

  mirror /mirror
   ...
  }


  location /mirror {

 if ( $test_or_204 = "mirror_204" ) {
        return 204;
      }

      fastcgi_pass $test_or_204;
  }

 Это решение работает прекрасно за исключением того момента, что когда выключается upstream,на который мы шлем часть тестового трафа, error_log оригинального локейшена /orig сразу заполняется ошибками вида

 2018/04/26 09:37:15 [error] 24047#0: *395993 connect() failed (111: Connection refused) while connecting to upstream, client: x.x.x.x, server: xxxx.ru, request: "GET / HTTP/1.1", subrequest: "/mirror", upstream: "fastcgi://127.0.0.1:1234", host: "xxxx"

 Можно как-то избавиться от этих сообщений?


С уважением, Олег


_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить