mirror только *_pass
Alexander Azarov
self на alaz.me
Ср Окт 3 05:10:13 UTC 2018
Здравствуйте!
У меня вопрос про mirror. Он у меня срабатывает, только если в локейшне
есть proxy_pass. Если там rewrite..redirect или return, то подзапрос не
случается, в логе совсем пусто (даже в debug логе). Так и должно быть? Если
да, то может быть имеет смысл что-то в лог писать, а то нелогично как-то
получается, директива в конфиге есть, а действия никакого нет.
Версию nginx и конфиг прикладываю ниже.
С уважением,
Александр
nginx version: nginx/1.15.4
configure arguments: --prefix=/opt/local
--with-cc-opt='-I/opt/local/include -Os' --with-ld-opt='-L/opt/local/lib
-Wl,-headerpad_max_install_names'
--conf-path=/opt/local/etc/nginx/nginx.conf
--error-log-path=/opt/local/var/log/nginx/error.log
--http-log-path=/opt/local/var/log/nginx/access.log
--pid-path=/opt/local/var/run/nginx/nginx.pid
--lock-path=/opt/local/var/run/nginx/nginx.lock
--http-client-body-temp-path=/opt/local/var/run/nginx/client_body_temp
--http-proxy-temp-path=/opt/local/var/run/nginx/proxy_temp
--http-fastcgi-temp-path=/opt/local/var/run/nginx/fastcgi_temp
--http-uwsgi-temp-path=/opt/local/var/run/nginx/uwsgi_temp --with-debug
--with-http_mp4_module --with-stream
http {
include mime.types;
default_type application/octet-stream;
log_format stat '[$time_local] $server_port $status "$request" "$uri"';
log_subrequest on;
access_log /dev/stdout stat;
server {
listen 8000 default_server;
location /r {
mirror /stats;
return 200 "OK";
}
location = /stats {
proxy_pass http://127.0.0.1:8001$uri;
}
}
server {
listen 8001 default_server;
location /o {
return 200 "OK";
}
location /stats {
return 204;
}
}
}
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20181003/a10b2452/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru