настроить Apache для отправки всех запросов в Tomcat - PullRequest
2 голосов
/ 13 ноября 2011

Приложение My Spring, развернутое на сервере prod (shared tomcat 5.5), будет отвечать на все URL-вызовы с ошибкой 404 (кроме /). После 3 дней напряженной работы я обнаружил, что:

Проблема в том, что в производственной среде tomcat на стороне Apache httpd, который не пересылает запросы в Tomcat для URL формы / foobar (без расширения). Apache не знать, как обращаться с этими URL-адресами и пытается использовать их как статические файлы с диска.

Итак, мне нужно настроить apache для отправки всех запросов на tomcat. Я считаю, что это потребует изменений в файлах .htaccess. У меня есть файлы .htaccess в следующих местах:

/public_html/.htaccess
/public_html/WEB-INF/.htaccess

Пожалуйста, помогите мне с содержимым .htaccess для достижения желаемой цели.

1 Ответ

1 голос
/ 13 ноября 2011

Вы должны сконфигурировать директиву <Location> для URL-адресов, которые представляют ваше приложение Tomcat непосредственно в вашем файле конфигурации httpd.conf - или в соответствующем файле, который включен в соответствии с вашим Конфигурация распределения (или локальная среда). (Ищите include строк в вашем основном файле конфигурации Apache, если вы не уверены, использует ли ваш дистрибутив или локальная среда какой-либо механизм для разделения файла конфигурации.)

Если вы поместите директиву <Location> для установки Tomcat в файл .htaccess, этот файл будет перезагружаться и повторно анализироваться при каждом отдельном запросе, что может повлиять на производительность. Если вы поместите его в основную конфигурацию, он будет прочитан и проанализирован один раз при запуске сервера (и каждый раз, когда вы используете опцию apachectl restart для перезагрузки конфигурации).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...