LINUX.ORG.RU
ФорумAdmin

Как в NGINX перенаправить запрос?

 ,


0

1

Здравствуйте, подскажите как в NGINX перенаправить запрос клиента на другой адрес сервера, и чтобы тот (другой сервер) вернул ответ клиенту, минуя сервер куда клиент изначально обратился?

Пробую так,

rewrite  http://test.com/data/sources/getparam  http://example.com/data/sources/getparam.json 

Ничего не работает, не могу понять как правильно сделать

http://test.com/data/sources/getparam - Сюда обращается клиент

http://example.com/data/sources/getparam.json - Сюда требуется перенаправить


Давай вместе подумаем. У того другого сервера нет ТСР сессии с клиентом. Как он ему может попытаться что-то вернуть?

zolden ★★★★★
()

неработает в браузере? Так это вероятно защита его.
Что дает

curl http://test.com/data/sources/getparam
или
wget http://test.com/data/sources/getparam

Atlant ★★★★★
()
Ответ на: комментарий от vvn_black

и чтобы тот (другой сервер) вернул ответ клиенту, минуя сервер куда клиент изначально обратился

Думаю ТС так витиевато сказал «редирект хочу», так что

  location /data/sources/getparam {                                                                                                                                               
    return 307 http://example.com/data/sources/getparam.json;
  }
MrClon ★★★★★
()
Ответ на: комментарий от vvn_black

proxy_pass

а не return 301 для того, что хочет ТС?

SR_team ★★★★★
()
Ответ на: комментарий от zolden

Спасибо что ответили, не ожидал. Все верно по поводу сессии, надо почитать про общение Клиент-Сервер.

Пока ждал ответ сделал немного иначе: В php файле вытаскиваю параметры из GET запроса, и формирую запрос, далее курлом отправляю на другой сервер, принимаю ответ и обратно отдаю клиенту.

Devill
() автор топика
Ответ на: комментарий от Devill

это плохое решение. правильно будет перенаправить клиент с кодом 301 или 302 чтобы он сам обратился за нужным ресурсом

Rost ★★★★★
()
Ответ на: комментарий от MrClon

Думаю ТС так витиевато сказал «редирект хочу»

Может быть и так, но

В php файле вытаскиваю параметры из GET запроса, и формирую запрос, далее курлом отправляю на другой сервер, принимаю ответ и обратно отдаю клиенту

vvn_black ★★★★★
()
Ответ на: комментарий от Rost

Все верно, сделаю как тут написали, просто у меня не получалось редирект сделать.

И по поводу сессии, тоже верно, по некоторым запросам Данные не приходят, в оригинале все приходит. Сравниваю свой запрос и Оригинал, тело совпадает, хейдер сравню сегодня, но с перенаправленого ответ Пустой.

Подскажите имеется какой либо выход из такой ситуации (работа с куки, сессии). Или метод только такой что придется на многие запросы на свой сервер, параллельно обращаться на другой, и сохранять в сессионные переменные, для отправки этих данных совместно с нужным запросом?

Devill
() автор топика
Последнее исправление: Devill (всего исправлений: 2)
Ответ на: комментарий от vvn_black

Ну так это он потом костыльный прокси соорудил, а в исходном посте всё указывает на то что ему нужен банальный http редирект

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Требуется пару ответов с другого сервера стащить, для работы на своём сервере.

Devill
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.