
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 で待機しているサービスをチェックして停止してください (必要ない場合は)。