У меня работает 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, таких как я, и приведенная выше конфигурация недопустима.
Может кто-нибудь помочь мне понять:
- Как на самом деле извлечь {resource}, {id} и {subresource} из директивы Location?
- Как проверить{resource}, так что разрешены только 'resource1' и 'resource2'?