Создаёт ли nginx отдельное tcp соединение на internal location?
Доброго времени суток.
Как это работает:
1) Пользователь обращается к серверу 1 на server_name1/location1
2) В нем proxy_pass на upstream, сервер 2 из которого отдает 302 редирект на другой server_name2/location2 сервера 1
3) Мы его ловим (error_page 301 302 = @redirect;) и отдаем контент по ссылке полученной в шаге 2
Для пользователя всё прозрачно, url не меняется.
В данном случае nginx создает http запрос сам на себя на шаге 3: server_name1/location1 -> server_name2/location2
Суть вопроса:
Как nginx обращается к internal location? С созданием дополнительного tcp коннекта на самого себя или через внутренние механизмы?
Хотелось бы сделать в server_name1/location1 subrequest на сторонний сервер 2, получить ссылку и сразу же сделать на неё proxy_pass
Нихера не понятно, сами терминов напридумывали. Дайте конфиг.
Если nginx видит rewrite (redirect) то он просто снова начинает матчить location из вашего конфига но уже для нового url. nginx.org/en/docs/http/ngx_http_rewrite_module.htm...