【问题标题】:What would happen if we change the shutdown port of tomcat to -1?如果我们将tomcat的关闭端口改为-1会发生什么?
【发布时间】:2017-08-02 17:32:53
【问题描述】:

我在想如果我们将关闭端口更改为 -1 会发生什么

所以我搜索了关闭端口并发现: 它定义了服务器必须在配置的地址和端口上接收到的命令字符串,以关闭 Tomcat。

我认为如果我们将其更改为 -1,那么没有人可以通过在特定端口和地址处点击 shutdown 命令来关闭 tomcat。此更改是否会影响其他任何事情?

【问题讨论】:

标签: tomcat server port shutdown


【解决方案1】:

根据 Apache Tomcat 官方文档:

此服务器等待关闭命令的 TCP/IP 端口号。此连接必须从运行此 Tomcat 实例的同一台服务器计算机启动。设置为 -1 以禁用关闭端口。

注意:当使用 Apache Commons Daemon(在 Windows 上作为服务运行或在 un*xes 上使用 jsvc)启动 Tomcat 时,禁用关闭端口效果很好。但是,在使用标准 shell 脚本运行 Tomcat 时不能使用它,因为它会阻止 shutdown.bat|.sh 和 catalina.bat|.sh 优雅地停止它。

https://tomcat.apache.org/tomcat-5.5-doc/config/server.html

【讨论】:

    【解决方案2】:

    只能从 localhost 访问关闭端口并侦听可配置的命令。一旦收到,tomcat 就会触发受控有序的关机。

    我的意思是你想保护自己免受某些东西的影响......让我们来看看我能想到的:

    • 有人可以访问您的生产服务器并且能够连接到 localhost 端口:如果您不信任让您的 Tomcat 运行的人可以访问您的生产服务器,那么您将遇到不同的问题。

    这是我认为可以保护您免受伤害的事情清单。

    如果您确实与您不信任的其他人共享服务器:修复您对配置文件的权限。不要让它们在世界上可读。将关闭命令更改为一个长的随机字符串,然后您就设置好了。通过这种方式,您可以继续以有序的方式关闭 tomcat,前提是您可以使用运行在(或 root)下的用户帐户 tomcat 访问机器。

    如果您以tomcat用户身份登录,无论如何都将失败:当您无法有序关闭时,您可以随时终止该进程。根也可以。

    这里没有什么可担心的。修复文件的权限并继续。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-14
      • 1970-01-01
      • 2015-10-16
      • 2017-08-20
      相关资源
      最近更新 更多