Чи можете ви одночасно використовувати Redirect та Proxypass


16

Я використовую Apache 2.2.15 на CentOS для надання SSL для програми TomCat.

ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300
ProxyPassReverse / http://127.0.0.1:8090

Це прекрасно працює, і все чудово; однак я хочу додати наступний рядок:

Redirect permanent /broken/page.html https://www.servername.com/correct/page.html

перш ніж сказане вище, щоб вирішити помилку в самому додатку TomCat. Однак, схоже, він не працює так, як я очікував (тобто, здається, нічого не робить і нічого не змінює). Чи можливо використовувати Перенаправлення таким чином? На жаль, у мене немає можливості редагувати додаток.

Відповіді:


23

Так! Вище ProxyPass /додайте:

ProxyPass /broken/page.html !

Це змусить проксіпас не діяти на сторінці, яку ви намагаєтеся перенаправити.


Дякую! Мені було цікаво, чи потрібно мені щось подібне робити, але я подумав, що, якщо це прийде першим, можливо, буде достатньо. Чудово працює!
бомбакар


9

<Proxy>Блоки також корисні, оскільки контекст завжди розуміється як застосований до проксі-трафіку. У такий спосіб вам не потрібно виключати конкретні шляхи.

<Proxy *>
    Redirect permanent /broken/page.html https://www.example.com/correct/page.html
    RedirectMatch ^/deadstuff.+ http://www.example.com/correct/page.html
</Proxy>

ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300
ProxyPassReverse / http://127.0.0.1:8090
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.