Задать вопрос
@jamestomatov

Как в nginx сделать перенаправление /test/{something} => some-domain/test/{something}?

Я не могу понять, как сделать перенаправление урлов в nignx вида /xml/{something}/{something?}/{etc?}, на аналогичный урл на другом конце: http://test.com/xml/{something}/{something?}/{etc?}
Слепил что-то похожее, но оно ожидаемо не работает:

location /xml/(.*) {
            proxy_pass             http://test.com/(.*);
            proxy_pass_request_headers      on;
            proxy_set_header                Host test.com;
       }


Т.е., мне нужно, чтобы все что идет за /xml/ передавалось в целевой урл.
  • Вопрос задан
  • 93 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@Nc_Soft
Это делается через rewrite + break, вот пример локейшена
location ~ ^/xml/(.+)$ {
	    rewrite ^/xml/(.+)$ /$1 break;
	    proxy_pass https://httpbin.org;
        }

Запрос вида site.test/xml/get?a=b запроксирует урл https://httpbin.org/get?a=b
Кстати, в документации nginx про это есть https://nginx.org/ru/docs/http/ngx_http_proxy_modu...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dodo512
location ^~ /xml/ {
            proxy_pass  http://test.com;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы