Я хочу, чтобы обратный прокси-сервер перенаправлялся к моему приложению реакции, когда запрашиваемый путь - "/", но перенаправлен к моей CMS, когда путь начинался с "/ api /", как? - PullRequest
0 голосов
/ 28 января 2020

Я использую apache (httpd), а не ngx.

В общем, я работаю над CMS без головы на моей виртуальной машине, и я попытался настроить обратный прокси с apache. Поскольку это отсоединенная CMS, мне нужно, чтобы мой клиент отправил запрос на получение как в приложение реагирования, так и в CMS, следовательно, обратный прокси-сервер.

Ожидаемое поведение: localhost ведет меня к моему приложению реагирования и localhost / api / приводит меня к CMS.

Наблюдаемое поведение: я всегда оказываюсь в приложении реакции, независимо от того, что я помещаю после localhost /.

Файл конфигурации apache, который я создал:

<IfModule mod_proxy.c>
        ProxyRequests Off
        <Proxy *>
                Require all granted
        </Proxy>

        ProxyPass "/api/" "http://localhost/herc/web/"
        ProxyPassReverse "/api/" "http://localhost/herc/web/"

        ProxyPass "/" "http://localhost:3000/"
        ProxyPassReverse "/" "http://localhost:3000/"
</IfModule>

Я знаю, что порядок правил важен, поэтому я попытался поставить правило "/ api /" первым, но безуспешно.

Я знаю, что ProxyPass пытается увидеть, какой префикс соответствует текущему запросу, и исправьте меня, если ошибочный, но если префикс тот, который следует после завершающего sla sh, то я предполагаю, что использование "/" означает «Всегда перенаправлять на этот адрес». Но это второе правило, почему не работает первое?

Можно ли как-нибудь это сделать?

...