tl; dr – 我有一个根服务的Linux机器,我想运行Tomcat作为服务器(没有Apache Web服务器),你将如何设置这个避免常见的安全隐患?
我写了一个Grails应用程序,我想运行在我租用的VPS上。 VPS有很less的内存,我用它来运行这个应用程序的唯一目的,所以我不需要Apache Web服务器。
这是我对服务器pipe理的第一次冒险,我肯定会陷入一些众所周知的陷阱。
希望对你来说很简单! 任何人都可以链接到一个教程将毫无疑问是一个伟大的事情注定的个人英雄。
GAV
运行tomcat作为tomcat用户。 我不认为你应该以root身份运行tomcat。 它暴露了一个更大的安全风险比作为一个非特权用户运行它的潜力。
Tomcat的HTTP服务对于某些东西是有点缺乏,所以我总是build议你有一个HTTP服务器作为前端。 如果你不想要Apache,总是有Nginx。 如果您需要HTTP基本或摘要身份validation,则尤其如此。
我build议你从tomcat默认的内存设置开始,然后在需要时调整它们。 不了解应用程序的内存configuration文件,很难给你任何硬性和快速的数字。
如果你在你的vps上使用Ubuntu,你可以apt-get install tomcat6,它应该在“盒子”之外。 即使在Centos5.4上,yum的tomcat5软件包也能以最less的configuration更改工作。
我认真的build议你在你的tomcat实例之前使用一个轻量级的服务器。 这使得您比Tomcat的“安全pipe理器”更好地控制安全性,
我有运行我的哈德森CI服务器的虚拟机上运行的Tomcat6,我想我已经给了它256MB的RAM,这是非常高兴。
即使你没有足够的空间在Tomcat前面运行一个完整的web服务器,你也可以考虑运行一个像pound这样的反向代理。 如果configuration正确,至less可以快速停止到服务器的随机连接。 只需指向Tomcat监听的内部端口8080即可。