Здравствуйте, Роман! Понятно, спасибо за объяснение и за ссылку.
Я не могу подсказать что писать в лог, да и что вообще с этим делать. Но получается, что админу Nginx надо знать про фазы обработки запроса, чтобы смочь себе объяснить, почему директива в конфиге не приводит вообще ни к чему. С уважением, Александр ср, 3 окт. 2018 г. в 10:11, Roman Arutyunyan <[email protected]>: > Добрый день, Александр. > > On Wed, Oct 03, 2018 at 08:10:13AM +0300, Alexander Azarov wrote: > > Здравствуйте! > > > > У меня вопрос про mirror. Он у меня срабатывает, только если в локейшне > > есть proxy_pass. Если там rewrite..redirect или return, то подзапрос не > > случается, в логе совсем пусто (даже в debug логе). Так и должно быть? > Если > > да, то может быть имеет смысл что-то в лог писать, а то нелогично как-то > > получается, директива в конфиге есть, а действия никакого нет. > > Миррор создается в фазе precontent, а rewrite и return - на более ранней > фазе > rewrite. В вашем случае запрос завершается в фазе rewite и не доходит до > фазы precontent, в которой создается mirror. Дело тут не в proxy_pass, а > в rewrite/return. Если бы в локейшене просто отдавалась статика, то mirror > бы также работал. Непонятно что можно в этом случае писать в лог, если > запрос просто завершается на более ранней стадии. > > В nginx devguide есть глава про фазы: > > http://nginx.org/en/docs/dev/development_guide.html#http_phases > > > Версию 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; > > > > } > > > > } > > > > } > > > _______________________________________________ > > nginx-ru mailing list > > [email protected] > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > -- > Roman Arutyunyan > _______________________________________________ > nginx-ru mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
