Nginx делает proxy_pass для завершения URL

Мой сервлет отправляет X-Accel-Redirect с полным URL-адресом, например / cached / http://example.com/test/index.html. Это должен быть полный URL из-за нашей бизнес-логики, которая определяет, где ресурс существует в сети.

И я хочу, чтобы nginx загружал контент с http://example.com/test/index.html и работал так, как если бы он исходил из исходного запроса URL. Таким образом, я не хочу делать переписать (или перенаправить). Я пытаюсь ниже упомянутых конф, но это не работает.

location /cached/(.*)$ {
proxy_pass  $1;
}

Есть ли способ использовать абсолютный URL из совпадающего URI и сделать для него proxy_pass? Заранее спасибо.

1 ответ

Вы должны использовать регулярное выражение соответствия для местоположения

location ~ '/cached/(.*)$' {
#       ^^^                         this is for regex
   proxy_pass  $1?$args;
}
Другие вопросы по тегам