我的 nginx 服务器配置如下:
location / {
mirror /mirror;
proxy_pass http://backend;
}
location = /mirror {
internal;
proxy_pass http://test_backend;
}
一切都很完美,除了一件事。我需要记录镜像请求是否已送达。如果镜像请求未送达,我需要在日志文件中获取一些错误。如何做到这一点?
答案1
我会在中间使用另一台服务器。
# main server
server {
location / {
mirror /mirror;
proxy_pass http://backend;
}
location = /mirror {
internal;
proxy_pass http://127.0.0.1:55555;
}
}
# mirror server
server {
listen 127.0.0.1:55555;
location / {
proxy_pass http://test_backend;
# whatever you want to log
access_log ....;
error_log ....;
}
}
答案2
或许http://nginx.org/ru/docs/http/ngx_http_core_module.html#log_subrequest 有帮助
log_subquest开启;