为什么要在 Glassfish 或 Tomcat 前面使用 Apache Web Server? [英] Why use Apache Web Server in front of Glassfish or Tomcat?

查看:27
本文介绍了为什么要在 Glassfish 或 Tomcat 前面使用 Apache Web Server?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 GF 或 Tomcat 前面使用 Apache Webserver 是个好主意吗?它是否提高了性能/安全性?

Is it good idea to use Apache Webserver in front of GF or Tomcat? Does it improve the performance/security?

或者没有任何理由将 Apache Web Server 与 GF 一起使用?

Or there is not any reason to use Apache Web Server with GF?

推荐答案

摘自 https://cwiki.apache.org/confluence/display/TOMCAT/Connectors#Connectors-Q3

  • 聚类.通过使用 Apache HTTP 作为前端,您可以让 Apache HTTP 作为通往多个 Apache Tomcat 实例的内容的前门.如果您的一个 Apache Tomcat 出现故障,Apache HTTP 会忽略它,您的系统管理员可以彻夜难眠.如果您使用硬件负载平衡器和 Apache Tomcat 的集群功能,则可以忽略这一点.
  • 集群/安全.您还可以将 Apache 用作不同 URL 命名空间(/app1/、/app2/、/app3/或虚拟主机)的不同 Apache Tomcat 的前门.然后 Apache Tomcat 可以分别位于受保护区域中,并且从安全角度来看,您只需要担心 Apache HTTP 服务器.本质上,Apache 成为了一个智能代理服务器.
  • 安全.这个话题可以左右任何一种方式.Java 有安全管理器,而 Apache 在安全方面有更大的思想份额和更多的技巧.我不会更详细地介绍这一点,但让 Google 成为您的朋友.根据您的情况,一个可能比另一个更好.但也请记住,如果您使用 Tomcat 运行 Apache - 您需要保护两个系统,而不是一个.
  • 附加组件.添加 CGI、perl、PHP 对 Apache 来说是很自然的.它更慢,更像是 Tomcat 的混搭.Apache HTTP 还有数百个可以随意插入的模块.Apache Tomcat 可以有这个能力,但是代码还没写.
  • 装饰器!使用 Apache Tomcat 前面的 Apache HTTP,您可以执行 Apache Tomcat 不支持或没有直接代码支持的任意数量的装饰器.例如,可以为 Apache Tomcat 编写 mod_headers、mod_rewrite 和 mod_alias,但是既然 Apache HTTP 做得这么好,为什么还要重新发明轮子呢?
  • 速度.Apache HTTP 在提供静态内容方面比 Apache Tomcat 更快.但是除非你有一个高流量的网站,这点是没有用的.但是在某些情况下,Apache Tomcat 可以比 Apache httpd 更快.因此,对您的网站进行基准测试.使用正确的连接器(启用了 sendFile 的 APR)时,Apache Tomcat 可以以 httpd 速度执行.在 Apache httpd 和 Tomcat 之间进行选择时,不应考虑速度
  • 套接字处理/系统稳定性.Apache HTTP 在错误条件方面比 Apache Tomcat 具有更好的套接字处理.主要原因是 Apache Tomcat 必须通过需要跨平台的 JVM 执行其所有套接字处理.问题是套接字优化是平台特定的考验.大多数情况下,java 代码是好的,但是当您还受到连接断开、无效数据包、来自无效 IP 的无效请求的轰炸时,Apache HTTP 在丢弃这些错误条件方面比基于 JVM 的程序做得更好.(YMMV)

这篇关于为什么要在 Glassfish 或 Tomcat 前面使用 Apache Web Server?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆