如果在 3 层应用程序中删除 Web 服务器,则架构建议
architecture suggestion if web server is removed in 3 tier app
我们有一个 java j2ee web 应用程序按以下方式部署在 AWS 中。
请求到达外部负载均衡器,它终止 SSL 并转发到 Web 服务器,Web 服务器转发到内部负载均衡器,内部负载均衡器将请求转发到连接到数据库 (rds) 的 tomcat 应用程序服务器。
这里有几个问题:
apache web服务器的目的就是反向代理。它没有静态内容。所有内容,包括 jss,css 均由 tomcat 提供。 apache 确实有用于缩小的页面速度模块
如果静态内容是从云端提供的,为什么还要有 apache 网络服务器?
这将改善网络跃点和延迟。
如果内容实际上是从云端提供的,我们如何才能获得页面速度的功能来避免缓存等问题?
如果我们删除 apache,我们会打开应用程序的前门,但安全性真的会受到威胁吗?
感谢专家的想法和建议。
您不需要同时使用 apache HTTP 网络服务器和内部负载平衡器。通常,Web 服务器放置在应用程序服务器之前,目的是它们能够有效地处理网络连接、减轻慢速读取攻击、缓存静态内容等。因为 tomcat 服务器 HTTP 连接器在一段时间内针对上述情况进行了优化是时候不需要 HTTP 服务器了。您的外部负载均衡器将执行负载均衡,因此也不需要内部负载均衡器。
考虑仅通过 CDN 提供静态内容,例如 css、js 文件。
您的应用没有直接暴露在互联网上,请求来自 ELB。除了 public ELB 之外,应用程序和 RDS 都应在私有子网中启动(实例将具有私有 ip)。确保正确配置安全组以避免安全漏洞。
我们有一个 java j2ee web 应用程序按以下方式部署在 AWS 中。 请求到达外部负载均衡器,它终止 SSL 并转发到 Web 服务器,Web 服务器转发到内部负载均衡器,内部负载均衡器将请求转发到连接到数据库 (rds) 的 tomcat 应用程序服务器。 这里有几个问题:
apache web服务器的目的就是反向代理。它没有静态内容。所有内容,包括 jss,css 均由 tomcat 提供。 apache 确实有用于缩小的页面速度模块 如果静态内容是从云端提供的,为什么还要有 apache 网络服务器? 这将改善网络跃点和延迟。
如果内容实际上是从云端提供的,我们如何才能获得页面速度的功能来避免缓存等问题?
如果我们删除 apache,我们会打开应用程序的前门,但安全性真的会受到威胁吗?
感谢专家的想法和建议。
您不需要同时使用 apache HTTP 网络服务器和内部负载平衡器。通常,Web 服务器放置在应用程序服务器之前,目的是它们能够有效地处理网络连接、减轻慢速读取攻击、缓存静态内容等。因为 tomcat 服务器 HTTP 连接器在一段时间内针对上述情况进行了优化是时候不需要 HTTP 服务器了。您的外部负载均衡器将执行负载均衡,因此也不需要内部负载均衡器。
考虑仅通过 CDN 提供静态内容,例如 css、js 文件。
您的应用没有直接暴露在互联网上,请求来自 ELB。除了 public ELB 之外,应用程序和 RDS 都应在私有子网中启动(实例将具有私有 ip)。确保正确配置安全组以避免安全漏洞。