Hello! On Fri, Sep 09, 2022 at 03:46:26AM -0400, sunrules wrote:
> Попробовал map, к сожалению, все тоже самое. В основную секцию server, в > которой определяется server_name, пользовательская переменная передает > нужное значение, что получаем из map, но если эту переменную прописать в > секцию server, где описываются бэкенды, то результат - пустое значение. > Причем, если в map определить значение глобальной переменной, а не той > строчкой с регуляркой, то тогда в секцию бэкенда значение передается, то > есть все это работает, но с какими-то странностями. > Версия Nginx 1.13, такую используем по определенным причинам. > Ради эксперимента хочу проверить это в более новой версии Nginx. > Если есть у кого-нибудь мысли, почему такое поведение, буду признателен. Переменные - это свойство _запроса_. Если вы запрос куда-то проксируете, пусть даже на тот же самый nginx, они на проксируемый сервер магически не попадут, там будет новый запрос и новые переменные. Если хотите что-то передать на проксируемый сервер - делайте это явно. Один из наиболее простых способов - добавить в запрос на проксируемый сервер специальный заголовок с помощью директивы proxy_set_header, а потом, соответственно, на проксируемом сервере получить значение этого заголовка с помощью переменной $http_*. То есть в вашем случае как-то так: proxy_set_header X-Site-Release $site_release; и далее на проксиремом сервере: proxy_pass http://$http_x_site_release.site.back1.example.org/; Подробнее тут: http://nginx.org/r/proxy_set_header/ru http://nginx.org/r/$http_/ru -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org