LINUX.ORG.RU

Прозрачный прокси webapi

 


1

2

Подскажите, как проще всего организовать прокси для webapi запросов и ответов. Можно ли ограничиться настройкой апача или нужно написать небольшой код? Т.е. запрос приходит на сайт-1, потом он отправляется на сайт-2. Ответ от сайт-2 отправляется на сайт-1, сайт-1 отправляет ответ клиенту.

★★
Ответ на: комментарий от Radjah

Спасибо за ссылки. Подробнее. Два сервера:

1. SecretServer.com - сервер с логикой и БД

2. PublicServer.com - прокси, на нём ничего не хранится

Оба сервера смотрят в инет, но 1-й принимает запросы только от 2-го.

1. Клиент делает POST-запрос: PublicServer.com/api/User/Login 2. PublicServer передает этот запрос, вызывая SecretServer/api/User/Login

3. SecretServer передает результат PublicServer'у

4. PublicServer передает результат клиенту

Через эти модули по ссылкам будет приходить обратный ответ по всей цепочке(п. 3 и 4)?

mlind ★★
() автор топика
Последнее исправление: mlind (всего исправлений: 1)
Ответ на: комментарий от mlind

Клиент обращается PublicServer.com/api/bla/bla/bla

PublicServer вместо самостоятельной обработки запроса скармливает его серверу SecretServer, который прописан для location / или location /api.

SecretServer обрабатывает запрос и передаёт ответ PublicServer. PublicServer отдаёт ответ клиенту как будто сам его обработал.

Возможно, что в логике работы SecretServer надо учитывать, что url будет не /, а /api.

Для nginx я подобное делал, но конфиг прям с разбегу не найду.

Как-то так.

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

любая либа проксей на любом яп или любом сервере с модулями и настройками, все бля, что тебе еще скинуть? это обычный реврайт с выводом результата запроса, ответ блять ему по цепочке передают, поехавшее быдло

anonymous
()
Ответ на: комментарий от mlind
location / {
                proxy_pass       http://127.0.0.1:8080;
                proxy_buffering on;
                proxy_buffers 32 16k;
                proxy_ignore_headers "X-Accel-Buffering";
                proxy_http_version 1.1;
                proxy_set_header Host      $host;
        }

Ну вот как-то так.

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

В дефолтный конфиг добавил только proxy_pass и всё заработало. Ещё раз спасибо.

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