
Tengo Tomcat 8.0.23 (lo sé, debería actualizarse) ejecutándose en CentOS y necesito configurar JMX con autenticación y SSL. Puedo conectarme con SSL y con contraseña a través del túnel SSL desde mi máquina con Windows. Pero cuando ingreso argumentos JVM relacionados con SSL, Tomcat no se inicia. He mirado muchos documentos y no veo ningún error en mi configuración.
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"
registros de 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
Cuando cambio a no SSL, Tomcat normalmente se inicia y puedo conectarme.
export CATALINA_OPTS="$JMS $JMS_AUTH $JMS_SSL_OFF"
¿Alguna idea de dónde está el problema?
Respuesta1
Parece el puerto que defines aquí:
-Dcom.sun.management.jmxremote.port=$RMI_PORT
Está en uso. Así que redefina esta variable RMI_PORT
para que apunte a otro puerto. O verifique y detenga (si no lo necesita) el servicio que escucha en el puerto 1616