是否有必要在使用apache tomcat之前安装Nginx服务器.
我们可以只使用apache tomcat是否有任何优点缺点选择更好,为什么.
我正在使用fedora 22在tomcat 8上为java应用程序部署我的应用程序
最佳答案
如果你愿意,你可以只使用tomcat.但是要小心!
Tomcat是一个servlet容器.它使用JSSE来实现TLS,默认情况下它会公开网络上的管理服务.它还存在大量安全漏洞(例如,见https://tomcat.apache.org/security-7.html).它有点慢,而且非常复杂.
我向客户推荐的安全实践是在其前面运行一些其他Web服务器,除非他们使用客户端证书身份验证.另一个Web服务器可以充当缓存代理和验证代理(几乎但不完全是Web应用程序防火墙),可以卸载SSL,允许您使用openssl而不是JSSE,有时甚至可以进行负载平衡.这些都是很好的功能.
Tomcat的架构也带来了问题.例如,它只能通过以root身份运行(非常糟糕)或使用authbind机制(在tomcat 8之前不支持IPv6)来使用特权端口.它需要连续访问其TLS密钥和包含用于加密它们的密码的配置文件,这是每个主要Web服务器减轻的一个小安全风险.
你用作代理的东西并不重要;任何有能力的HTTP守护进程都应该足够了.不过,我还建议使用Web应用程序防火墙来过滤请求.