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

Apache mod_rewrite в режиме прокси, .htaccess и ProxyPassReverse

В файле .htaccess у меня есть что-то вроде прокси-сервера Apache для Tomcat:

   RewriteRule (.*) http://localhost:8080/tomcat-app/$1 [P]

Все перенаправления, а также внутренние ссылки в файлах HTML направляются непосредственно в приложение Tomcat, а не в Apache.

Поэтому я бы использовал ProxyPassReverse и тому подобное для правильного перевода, но, видимо, мне не разрешено использовать эту директиву в файле .htaccess. Я действительно не хочу помещать их в основную конфигурацию Apache, потому что это означает перезагрузку Apache при каждом изменении. Вот почему мне нравится RewriteRole [P]: в отличие от ProxyPass, ее можно поместить в .htaccess.

Что я могу сделать для имитации ProxyPassReverse в файле .htaccess? Или, точнее, без перезагрузки при любом изменении?

Используйте свой основной файл конфигурации - вы можете выполнить плавную перезагрузку конфигурации, отправив USR1 сигнал процессу - ваш сценарий инициализации apache должен иметь reload команда для этого.

/etc/init.d/apache2 reload