Snowindy
@Snowindy

Посоветуйте проксирующий сервер для маппинга запросов

Ситуация:
Приложение А предоставляет веб-сервис, доступный по адресу srv1.ru:80/Address1.
Эти адреса зарегистрированы в сторонней системе Б и перерегистрировать их нельзя.

После рефакторинга приложение А изменило адрес веб-сервиса на srv1.ru:8080/Address2

Хочется поставить между А и Б проксирующий сервер, который будет маппить оба адреса на на актуальный адрес веб-сервиса.

При этом хочется, чтобы прокси был асинхронный (к примеру, nginx), легкий, поддерживал wildcards (т.е. знак '*' в пути).

Буду рад примеру конфигу для nginx.
  • Вопрос задан
  • 3120 просмотров
Решения вопроса 1
В простейшем случает конфиг такой
server {
listen 80;
server_name srv1.ru;

location /Address1 {
proxy_pass srv1.ru:8080/Address2;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stdit
@Stdit
Вот тут всё во всех подробностях написано: nginx.org/ru/docs/http/ngx_http_proxy_module.html
Если коротко, то нужно поставить location c proxy_pass, и при необходимости (если меняется uri) с rewrite. Если на внешний сервис идёт много одинаковых запросов, можно дополнительно установить proxy_cache.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы