Перенаправление GET-запроса cURL для подпапки сайта на другой IP - PullRequest
0 голосов
/ 12 июля 2020

У меня небольшая проблема с некоторым устаревшим кодом, который использует жестко заданный домен, включая определенные подпапки c. Веб-сервер всегда отвечает {"err":1200, "msg":"invalid"}. Дело в том, что я не контролирую редактирование кода. Поскольку этот код содержит более 100 жестко закодированных различных запросов HTTP-GET, которые работают нормально, и единственный бит, который не работает, - это когда GET-запросы нацелены на определенную подпапку c. Между прочим, программа ожидает простой ответ: {"err":0} Итак, я решил быстро настроить локальный Apache и отредактировал файл / etc / hosts, чтобы перенаправить все запросы на 127.0.0.1. Я создал html -файл с исключительно ожидаемым ответом в нем и установил его как 404-страницу по умолчанию. Конечно, это сработало только для той единственной строки кода, которая запрашивает вышеупомянутую подпапку сайта. Очевидно, это полностью разрушило все остальные строки кода.

TL; DR Мне нужно перенаправить только один запрос HTTP-GET на другой IP-адрес, пока все остальные запросы остаются прежними. Рассматриваемый запрос направлен в указанную подпапку c. Я хотел бы использовать что-то похожее на файл / etc / hosts - только с дополнительными параметрами каталога вместо всего домена.

Есть идеи?

1 Ответ

0 голосов
/ 12 июля 2020

Обратите внимание, что вы не говорите о перенаправлении. Перенаправление довольно просто, так как вы можете просто настроить любой веб-сервер так, чтобы он просто отправлял ответ 302 новому серверу. В apache посмотрите на RedirectMatch или «перезаписывает».

Если это сработает для вас, легко. Если нет, и вы хотите обрабатывать все конечные точки (из старой и новой системы) из одного домена, лучшим вариантом, вероятно, будет обратный прокси. Это также поддерживается Apache и многими другими веб-серверами.

В основном это работает следующим образом:

  • Если путь соответствует определенному шаблону, проксируйте запрос в вашу новую систему .
  • Если нет, проксируйте запрос в свою старую систему

Я бы посоветовал вам прочитать документацию по обратным прокси-серверам на выбранном вами веб-сервере и попытаться разработать хорошую конфигурацию.

...