|
|||||||
Сохранить GET-параметры в proxy_pass с переменными в NGINX
Время создания: 30.11.2018 16:28
Автор: br0ke
Текстовые метки: nginx, proxy, pass, proxy_pass, variable, var, url, uri, args, argument, arguments, is_args, get, query, parameter, parameters, param, params
Раздел: Информационные технологии - Linux - nginx
Запись: and-semakin/mytetra_data/master/base/15435773064a1ca8acxn/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Если в директиве proxy_pass использовать переменные, то NGINX не сможет сконструировать/пересобрать целевой URL и, например, утратит аргументы (обрежет ?arg1=value&arg2=value и не вернет на место). В таких случаях придётся указать NGINX как сконструировать URL. Если нужно только сменить хост и отправить тот же самый запрос, то можно обойтись таким способом: location /service/ { # Note the trailing slash on the proxy_pass. # It tells nginx to replace /service/ with / when passing the request. proxy_pass http://apache/; } Если же нужно произвести какие-то манипуляции с адресом, то запрос полностью придётся конструировать вручную, например: location ~ ^/service/(.*) { proxy_pass http://apache/$1$is_args$args; } $1 -- часть адреса после /service/ и без аргументов; то, что заматчилось на (.*); $is_args -- равна ? если в запросе были аргументы или пустой строке в противном случае; $args -- аргументы из URL: arg1=value&arg2=value |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|