使用专用 Web 服务器有哪些优点?

使用专用 Web 服务器有哪些优点?

详细来说,使用专用的Web服务器(即lighttpd或nginx)并按照Web服务器的指示运行程序(即Swift / Python)有什么优势?

具体来说,这与简单地运行 Web 框架(即 Perfect / Flask)并使用其内置路由相比如何?

答案1

这是一个标准的“Web 安全架构”问题。

典型的 3 层应用程序将具有

  1. Web层
  2. 应用层
  3. 数据库(或其他后端)层。

这个想法是为了帮助分离职责。

因此“Web 层”是所有传入流量的初始终止点。您可能已经在这里完成了 SSL 工作。此时,您可以注入诸如“Web 应用程序防火墙”之类的内容,它可以检查传入流量是否存在 SQL 注入攻击或路径遍历攻击等内容。

在此终止的优点是像 apache 或 nginx 或 lighttpd 这样的前端服务专用于处理恶意流量、记录错误请求、更加“安全”。有人提出了一种攻击 Web 服务器的新方法(TCP 位设置错误的数据碎片?),您将确信顶级 Web 服务器将得到修补;你的网络框架可能并没有那么重要。

只有“干净”的流量才会传递到应用程序层(此通信也可能是 HTTP,但来自更可信的来源)。您的应用程序可以与后端对话。

现在,理想情况下,这些层也应该位于具有网络路由规则的不同服务器上,以便外部请求服务根本无法到达“应用程序服务器”。流量到达应用程序服务器的唯一方式是通过前端 Web 服务器,即使在较低的 TCP 层也是如此。但即使没有这个,您也可以获得一些安全优势。

第二个优点意味着您的前端服务可以是 HA 代理,将负载分配到多个后端应用程序服务器。

第三个优点是允许您从前端 Web 服务器提供静态文件(例如图像、CSS、javascript),并且只有大量特定于应用程序的内容才会传递到您的应用程序。可以添加缓存层等。这里可以带来性能优势。

因此,从企业的角度来看,有很多充分的理由将它们分开。但它确实需要更多的配置和设置工作。

你想走多远是个人喜好。

相关内容