Apache httpd.conf: Как прочитать тело HTTP POST? - PullRequest
0 голосов
/ 29 апреля 2020

Проблема: Как прочитать тело POST-запроса в apache httpd.conf и выполнить регулярное выражение ( без написания пользовательского кода вне httpd.conf )

Подробности: Я могу интегрироваться с LDAP через настройку файла httpd.conf. Теперь я хочу управлять внутренними запросами от пользователя на основе параметров запроса HTTP POST Body.

Например, согласно приведенному ниже примеру тела запроса, если значение @index равно «customerdata» во входящем запросе, этот пользователь LDAP должен быть частью какой-то группы AD «XYZ», тогда только запрос должен двигаться вперед и go для внутреннего сервера.

Но вопрос в том, Как читать данные тела POST через директивы / выражения HTTPD?

Пример входящего тела POST, которое я хочу прочитать:

{
    "index": [  "customerdata"  ],
    "ignore_unavailable": true,
    "preference": 1588101485734
}

Большая цель: Попытка реализовать интеграцию LDAP для ElasticSearch с использованием службы httpd и применить некоторую политику, основанную на теле входящего HTTP-запроса POST

ПРОСТО FYI: Мой httpd.conf: (Только с работающей интеграцией LDAP)

<VirtualHost [SERVERNAME]:80>
  <Location "/">
    AuthType basic
    AuthName "Please Login"
    AuthBasicProvider ldap
    AuthLDAPURL "ldap://LDAPSERVERNAME.FDS:636/dc=federated,dc=fds?sAMAccountName?sub?(objectClass=*)"
    AuthLDAPBindDN "cn=svc-serviceaccount,ou=ServiceAccounts,ou=SpecialAccounts,ou=_Federated,dc=federated,dc=fds"
    AuthLDAPBindPassword "masked-pass"
    AuthLDAPGroupAttribute member
    Require valid-user
  </Location>
  ProxyPass        / http://[SERVERNAME]:15601/
  ProxyPassReverse / http://[SERVERNAME]:15601/
</VirtualHost>
...