В nginx я успешно использую группу upstream
и proxy_next_upstream
, чтобы перехватывать ошибки на основном сервере и передавать их на резервный сервер.
Я хотел бы регистрировать ошибки, возвращенные с основного сервера, чтобы я мог предупреждать о них.Как это можно сделать?
Вот как выглядит конфиг:
http {
.
.
.
upstream myhost {
server example.com max_fails=1 fail_timeout=10;
server unix:\0myhost_backup backup;
}
server {
listen unix:\0myhost_backup;
access_log /logs/myhost_backup.access.log access_tsv buffer=32k flush=1m;
error_log /logs/myhost_backup.error.log;
location / {
return 200 "OK"; #mock response
}
}}
server {
.
.
.
location / {
internal;
set $endpoint https://myhost;
proxy_pass $endpoint$request_uri;
proxy_next_upstream error timeout invalid_header http_500;
}