Я получил вверх по течению, как это:
upstream test_upstream {
least_conn;
server server-prod1.ru:443 max_fails=2 fail_timeout=300s;
server server-prod2.ru:443 max_fails=2 fail_timeout=300s;
}
И конфигурация прокси, как это:
server {
listen 8080;
root /usr/share/nginx/html;
location / {
proxy_pass https://test_upstream;
deny all;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_403 http_404;
proxy_next_upstream_tries 4;
}
И когда первый сервер недоступен, я получаю вывод, подобный этому (Некоторая информация скрыта по соображениям безопасности):
"22/May/2019:10:03:58 +0300" client=192.168.205.3 - - method=POST request="POST /request/push HTTP/1.1" status=200 upstream_addr=66.66.66.66:443 upstream_status=200
"22/May/2019:10:03:58 +0300" client=192.168.205.3 - - method=GET request="POST /request/push HTTP/1.1" status=502 upstream_addr=sbp_cbrpay upstream_status=502
Итак, проблема здесь: "method = GET request =" POST ... "
Почему существует неправильный метод? Должно быть POST.