在使用apache tomcat之前是否需要安装nginx服务器? 我们可以使用只有Apache Tomcat有什么优点缺点哪个select更好,为什么。 我正在使用的Fedora 22部署我的应用程序在Java应用程序的Tomcat 8上
如果你喜欢,你可以只使用tomcat。 但是,要小心!
Tomcat是一个servlet容器。 它使用JSSE来实现TLS,默认情况下它暴露在networking上的pipe理服务。 它也有大量的安全漏洞(例如见https://tomcat.apache.org/security-7.html )。 它有点慢,而且非常复杂。
我推荐给我的客户的安全实践是在它之前运行一些其他的Web服务器,除非他们正在使用客户端证书authentication。 其他Web服务器可以充当caching代理和validation代理(几乎不是Web应用程序防火墙),可以卸载SSL,允许使用openssl而不是JSSE,有时甚至可以进行负载平衡。 这些都是很好的function。
Tomcat的架构也带来了问题。 例如,它只能使用特权端口,通过以root身份运行(非常糟糕),或者使用authbind机制(在tomcat 8之前不支持IPv6)。 它需要连续访问其TLS密钥和包含用于encryption密码的configuration文件,这对每个主要的Web服务器都是轻微的安全风险。
你用什么作为代理并不重要, 任何有能力的HTTP守护进程都应该足够了。 不过,我也推荐一个Web应用程序防火墙来过滤请求。
可以单独使用Tomcat,但是您需要避免一些明显的错误。 最重要的
别想了
我没有看到Tomcat像configuration和维护一样复杂,但这可能是因为我使用了很多年。 谈到安全问题,每个服务器都有时间安排,发现的问题是定期修复的。 只是谷歌。