Назад | Перейти на главную страницу

Apache mod_proxy против mod_rewrite

В чем разница между использованием mod_proxy и mod_rewrite?

У меня есть требование отправлять определенные шаблоны URL-адресов через tomcat, который работает на том же хосте, но под портом 8080. Я знаю, что это что-то для mod_proxy, но мне интересно, почему я не могу просто использовать mod_rewrite или какая разница является?

Наверное, нужно делать с обратным прокси, а также когда он обрабатывается в конвейере?

Спасибо.

mod_rewrite использование флагов P передает запрос через mod_proxy. Преимущество использования mod_rewrite заключается в том, что вы получаете больший контроль над запросами сопоставления, точно так же, как rewrite позволяет вам переписывать URL-адреса. Но проксирование точно такое же. Недостаток в том, что синтаксис mod_rewrite более сложен. Поэтому я рекомендую использовать директивы конфигурации mod_proxy -style, если вам не нужно что-то более сложное. Другие, вероятно, порекомендуют mod_rewrite -style, потому что тогда вам нужно выучить только один стиль.

mod_rewrite является очень общим и очень мощным: он может обрабатывать не только проксирование, но и псевдонимы, перенаправление и практически любое настраиваемое сопоставление URL-адресов с другими URL-адресами или именами файлов. (Ну, я полагаю, если вы посмотрите достаточно внимательно, вы сможете найти что-нибудь mod_rewriteне может) Но есть несколько возможных причин не использовать его:

  • Возможно, вы не захотите иметь дело со сложностью mod_rewrite. Как известно, правильно сконфигурировать сложно - конфигурация сама по себе является языком программирования.
  • Apache требуется время для обработки всех этих сложных правил перезаписи, и если у вас загруженный сервер, возможно, вы не захотите иметь с этим дело. С помощью mod_proxy напрямую позволяет вам вызывать более оптимизированный код, который может помочь вашему серверу работать быстрее. (Честно говоря, я не уверен, насколько велик это влияние, но я не думаю, что он настолько серьезен)