Apache Rewrite Rule Удаление паролей с прокси-реверсом

Я немного зелёный, когда дело доходит до переписывания правил и я ищу помощь. У меня есть требование делать вещи:

  1. Использовать apache для обратного прокси-сервера
  2. Сбросьте некоторые параметры из URL-адреса в случае взлома параметров.

У меня есть URL-адрес:

http://server.com/search?param1=xxxx&param2=yyyy&param3===zzzz

или

http://server.com/search?param2=xxxx&param1=yyyy&param3===zzzz

You get the idea, the parameters could be in any илиder.

Я хочу, чтобы мой сервер конечных точек получал только param2 = CONST. Поэтому я лишил param2 и добавил свой собственный.

Чтобы усложнить ситуацию, это не может быть в .htaccess , но httpd.conf (тонкая разница в правилах перезаписи).

Here is what I have currently (not matching cилиrectly).

Options +FollowSymLinks
ProxyPreserveHost On
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.+&)?param2=(.*)&(.*)?$ [NC]
RewriteRule ^/search$ http://%{HTTP_HOST}/search?%1%2&%3&param2=XXXXXX [R=301,L]


ProxyPass /search http://localhost:8080/search
ProxyPassReverse /search http://localhost:8080/search

ОБНОВИТЬ


I got it wилиking with the following:

RewriteCond %{QUERY_STRING} !site=MY_CONST
RewriteCond %{QUERY_STRING} (.*)(^site=[a-zA-Z0-9]+&?|^&site=[a-zA-Z0-9]+&|&site=[a-zA-Z0-9]+)(&?.*) [NC]
RewriteRule ^/search$ http://%{HTTP_HOST}/search?%1%3&site=MY_CONST [L,R=301,NS]

Первое условие выводит вас из бесконечной рекурсии переписывания правила на один и тот же ресурс (поэтому его можно проксировать).

Надеюсь, поможет.

1
nl ja de

Ответов нет

0