Как извлечь части URL для проверки и отправки в бэкэнд-сервис? - PullRequest
0 голосов
/ 08 мая 2019

У меня работает REST API, скажем, my-internal-server, и я хотел бы выставить несколько конечных точек в Интернет, используя Apache в качестве обратного прокси.

Допустим, у меня есть следующий внутреннийконечные точки:

http://my-internal-server/api/resource1/{id}/{subresource}
http://my-internal-server/api/resource2/{id}/{subresource}
http://my-internal-server/api/resource3
http://my-internal-server/api/resource4

И я хотел бы выставить только resource1 и resource2 для Интернета ( resource3 и resource4 не должен быть выставлен).Я думал, что достигну этого в Apache с помощью чего-то похожего на следующее:

<Location /api/{resource}/{id}/{subresource}>
    # how to actually extract {resource}, {id} and {subresource} from Location directive?
    # how to validate {resource} so that only 'resource1' and 'resource2' are allowed?
    ProxyPass http://my-internal-server/api/{resource}/{id}/{subresource}
    ProxyPassReverse http://my-internal-server/api/{resource}/{id}/{subresource}
</Location>

К сожалению, в Apache все не так просто, по крайней мере для начинающих Apache, таких как я, и приведенная выше конфигурация недопустима.

Может кто-нибудь помочь мне понять:

  1. Как на самом деле извлечь {resource}, {id} и {subresource} из директивы Location?
  2. Как проверить{resource}, так что разрешены только 'resource1' и 'resource2'?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...