Проблема с LocationMatch, помещающим Regex в Apache в Location Header - PullRequest
0 голосов
/ 11 марта 2019

У нас работает Apache Proxy, использующий директиву LocationMatch в Apache, которая работает очень хорошо.По сути, все, что доступно на нашем сервере в формате / AAA_AAA1234 /, получает прокси.Это работает, за исключением случаев, когда Location помещается в заголовки HTTP удаленным сервером, в этом случае он буквально помещает Regex в заголовок location.Не можете понять, почему?

Раздел httpd.conf, который запускает прокси:


ProxyPassMatch "^/[A-Z][A-Z][A-Z]_[A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9]/" "https://servertoproxy.com"


<LocationMatch "^/[A-Z][A-Z][A-Z]_[A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9]/">
   RequestHeader set Front-End-Https "On"
   ProxyPassReverse /AAA_AAA1234/
   SetOutputFilter  proxy-html
   LogLevel debug

   SetOutputFilter INFLATE;SUBSTITUTE;proxy-html;DEFLATE
</LocationMatch>

Возвращается сервером Apache:

HTTP/1.1 302 Found
Cache-Control: private
Location: https://www.apacheserverdomain.com^/[A-Z][A-Z][A-Z]_[A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9]/Logout/InvalidNavigation

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/AAA_AAA1234/Logout/InvalidNavigation">here</a>.</h2>
</body></html>
...