tomcat 确实以 JMX 的 SSL 参数开头

tomcat 确实以 JMX 的 SSL 参数开头

我在 CentOS 上运行 Tomcat 8.0.23(我知道,应该升级),我需要设置带有身份验证和 SSL 的 JMX。我能够从我的 Windows 机器通过 SSL 隧道使用 SSL 和密码进行连接。但是当我输入与 SSL 相关的 JVM 参数时,tomcat 不会启动。我查看了许多文档,但在我的设置中没有看到错误。

export JMS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=$RMI_PORT -Dcom.sun.management.jmxremote.rmi.port=$RMI_PORT -Dcom.sun.management.jmxremote.local.only=false -D java.rmi.server.hostname=localhost"
export JMS_NO_AUTH="-Dcom.sun.management.jmxremote.authenticate=false"
export CONFIG_PATH="/opt/tomcat/default/conf"
export JMS_AUTH="-Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.access.file=$CONFIG_PATH/jmxremote.access -Dcom.sun.management.jmxremote.password.file=$CONFIG_PATH/jmxremote.password"
export JMS_SSL_OFF="-Dcom.sun.management.jmxremote.ssl=false"
export JMS_SSL_ON="-Dcom.sun.management.jmxremote.ssl=true -Djavax.net.ssl.keyStore=$CONFIG_PATH/jmx_ssl.jks -Djavax.net.ssl.keyStorePassword=StupidPassword"

export CATALINA_OPTS="$JMS $JMS_AUTH $JMS_SSL_ON"

tomcat日志:

Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 1616; nested exception is:
    java.net.BindException: Address already in use

当我切换到无 SSL 时,Tomcat 通常会启动,并且我可以连接

export CATALINA_OPTS="$JMS $JMS_AUTH $JMS_SSL_OFF"

知道问题出在哪里吗?

答案1

好像您在此处定义的端口:

-Dcom.sun.management.jmxremote.port=$RMI_PORT

正在使用。因此重新定义此变量RMI_PORT以指向其他端口。或者检查并停止(如果不需要)监听端口 1616 的服务

相关内容