Обратные вызовы прокси API в Apache - PullRequest
0 голосов
/ 31 октября 2019

У нас есть приложение PHP, которое предоставляет различные API под многими корневыми путями:

  /api/calls/*
  /services/*
  /file/uploads/*

и т. Д.

Эти корневые ветки сталкивались с патчами других приложений, запущенных в том же проекте Openshift. поэтому был запущен контейнер nginx, который был продан в качестве обратного прокси-сервера со следующей конфигурацией:

server {
 localhost /phpapp/api/calls/ {
  proxy_pass http://phpapp.ourproject.svc:80/api/public/;
 }
}

Я обнаружил, что полностью излишне запускать другой веб-сервер только для перезаписи патчей, Apache должен иметь возможностьразберись сам, так я и думал. Однако я не нашел ни одного учебника, как это сделать на Apache, вместо множества примеров, ни один из них не сработал.

Я пробовал: в 000-default.conf в:

из Можно ли использовать относительный путь в ProxyPass / ProxyPassReverse? :

RewriteRule ^/phpapp/api/calls /api/calls [L]

То же внутри phpapp / .htaccess:

RewriteRule ^api/calls /api/calls [L]

Тогда,оба правила с [N, PT].

Затем:

RewriteRule ^/phpapp/api/calls/(.*)$ /api/calls/$1 [L]

И то же самое с [N, PT]:

RewriteRule ^/phpapp/api/calls/(.*)$ /api/calls/$1 [P,NT]

Что бы я ни пытался, яget 'Path not found' error.

Как добиться того базового переписывания обратного прокси, которое было так легко сделать с помощью внешнего nginx, внутри apache?

...