У меня есть директива location с proxy_pass в ней, основанная на регулярном выражении в местоположении, например:
location ~ \/proxy\/([w]+)
{
proxy_pass http://56.25.11.152:80/$1
}
Я также определил в nginx cofing file:
log_format upstream_logging '[$time_local] $remote_addr - $remote_user - $server_name to: $upstream_addr: $request upstream_response_time $upstream_response_time msec $msec request_time $request_time';
access_log /var/log/nginx/access.log upstreamlog;
Это дает мне нужен правильный хост и порт конечного адреса, который создается в proxy_pass, который 56.25.11.152:80
(адрес с портом, к которому мы используем прокси).
Но он не дает мне путь, к которому мы прокси, только хост и порт.
Это дает мне только путь, который я go, чтобы попасть в эту директиву местоположения (/proxy/www
). Но не дает мне путь, который используется в proxy_pass.
Например
location ~ \/proxy\/([w]+)
{
proxy_pass http://56.25.11.152:80/ok/we/$1
}
И, нажав localhost/proxy/www
в access.log, я получаю /proxy/www
вместо /ok/we/www
.
Так что я знаю только, какой путь к местоположению я выбрал в браузере, что на самом деле localhost/proxy/www
.
Но я не знаю, какой путь используется в proxy_pass , который должен быть /ok/we/www
. Но как я могу быть уверен? Я могу только верить, у меня нет такой информации в моих журналах. Вот в чем проблема.
В лучшем случае я бы даже хотел, чтобы в access.log был зарегистрирован весь URL-адрес proxy_pass, созданный и проксированный по адресу.