Хорошо ли использовать Apache Webserver перед GF или Tomcat? Улучшает ли производительность/безопасность?
Или нет причин использовать веб-сервер Apache с GF?
Хорошо ли использовать Apache Webserver перед GF или Tomcat? Улучшает ли производительность/безопасность?
Или нет причин использовать веб-сервер Apache с GF?
Взято из http://wiki.apache.org/tomcat/FAQ/Connectors#Q3
Так как все дали вам причины, почему Apache перед Tomcat позволил мне дать вам несколько причин, почему не:
Помещение Apache впереди НЕ:
Что Apache дает вам больше плагинов и позволяет запускать различные веб-технологии.
Если вам нужен только Tomcat, вам лучше всего использовать HAProxy или Nginx в качестве балансировщика нагрузки.
Масштабируемость. Как указывал Amir и user384706, вы можете загрузить баланс нескольких экземпляров вашего приложения за Apache. Это позволит вам обрабатывать больше объема и повысить стабильность в случае, если один из ваших экземпляров не работает.
Безопасность. Apache, Tomcat и Glassfish поддерживают SSL, но если вы решите использовать Apache, скорее всего, там, где вы должны его настроить. Если вам нужна дополнительная защита от атак (DoS, XSS, SQL-инъекция и т.д.), Вы можете установить mod_security брандмауэр веб-приложений.
Дополнительные функции. У Apache есть куча хороших модулей, доступных для перезаписи URL-адресов, взаимодействия с другими языками программирования, аутентификации и тонны других материалов.
Производительность. Если у вас много статического контента, обслуживание его с помощью Apache улучшит вашу производительность. Если большая часть вашего контента динамична, то использование Tomcat или Glassfish будет таким же быстрым (возможно, быстрее). (как указано в ответах на этот вопрос, это уже не так.)
Одна из причин размещения Apache перед Tomcat будет для балансировки нагрузки.
Запросы попадают на сервер Apache спереди и распространяются на серверные контейнеры Tomcat в зависимости от загрузки и доступности.
Клиенты знают только один IP (Apache), но запросы распределяются по нескольким контейнерам.
Таким образом, это происходит в случае развертывания своего рода распределенного веб-приложения, и вам это необходимо.
Если ваш вопрос о простом веб-приложении, то см. Ответ dbyrne
Если вы используете стек LAMP, вы можете запускать материал PHP/Ruby с apache и пересылать java файл в tomcat с помощью mod_jk.