Всем приятного дня,
после переписки конфигурации столкнулся со следующей проблемой:
конфиг выглядит примерно так:
# Errors
error_page 502 /502.html ;
error_page 503 /503.html ;
error_page 504 /504.html ;
# Immediate backend call.
# 402 - Payment required is the reserved HTTP response so I
use it to
# quickly pass request to the backend at any moment I need to.
error_page 402 = @backend ;
# 50x error
location ~ ^/50[2-4].html$ {
root /html/messages/nginx ;
}
location / {
if ($request_method = POST) {
return 402;
}
try_files $uri
@backend;
}
# Spire backend request
location @backend {
limit_req zone=spire burst=10;
proxy_pass $proxy_proto://$proxy$uri$is_args$args ;
}
Проблема в том что если во время POST бэкэнд например упадет по
сегфолту nginx показывает дефолтную страницу "502 Bad Gateway" а не
мой /502.html. Это как-то связано с return 402, потому что раньше этой
проблемы не было.