为什么在Tomcat中有一个关闭端口?

Ulu*_*kai 4 tomcat tomcat7

我试图想到Tomcat会有一个关闭端口的原因,但我想不出任何问题.据我所知,这个端口只有在本地发送消息时才会工作,因为它连接到环回设备,因此有什么意义呢?这是不是可以通过内部命令以一种无法被网络外部人员欺骗的方式完成的?

谢谢!

Mar*_*mas 13

关闭端口提供操作系统中立的,可编写脚本的方式来关闭Tomcat实例.一旦删除关闭端口,您几乎肯定会进入操作系统特定代码的领域(或者至少是Windows与Unix +衍生产品的不同代码).默认情况下,Tomcat旨在实现跨所有平台的通用配置和行为.

Tomcat安装的安全配置文件在单个开发人员计算机与云中的数千个实例之间存在很大差异.默认配置不可能适用于所有可能的安装环境.Tomcat旨在提供合理安全的默认设置,管理员可根据自己的环境进行调整.

在这种情况下,如果不信任的用户a)可以访问关闭端口并且b)知道shutdown命令,则会出现安全风险.这应该是一种相当罕见的情况,因此默认情况下为什么关闭端口仍然为localhost启用.我当然不希望运行一个服务,我关心它在我有不受信任的用户的机器上的安全性.这说它确实发生了,对于那些用例,可以禁用关闭端口.

一旦关闭端口被禁用,Unix +衍生解决方案就是设置TOMCAT_PID,此时脚本将继续按预期工作.在Windows上,您可能需要作为服务运行.