tomcat - Jconsole 无法连接到在 AWS EC2 上使用安全选项运行的 tomcat

标签 tomcat amazon-ec2 jmx jconsole java-security

我能够将 jconsole 与 Amazon EC2 实例上的 tomcat 连接起来,而无需使用以下 CATALINA_OPTS 的安全选项

CATALINA_OPTS="-Dcom.sun.management.jmxremote=true -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.port=15000 -Dcom.sun.management.jmxremote.rmi.port=15001 -Djava.rmi.server.hostname=X.Y.Z.M -Dcom.sun.management .jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=$CATALINA_HOME/conf/jmxremote.password -Dcom.sun.management.jmxremote.access。文件=$CATALINA_HOME/conf/jmxremote.access -Xms150M -Xmx350M"

但是当我使用安全选项启动 tomcat 时,我无法从远程机器连接 jconsole。

我从下面的 oracle 链接中为 JMX 在 catalina.policy 中添加了以下权限:https://docs.oracle.com/javase/8/docs/technotes/guides/jmx/examples/Security/fine_grained/config/java.policy

如果我在 catalina.policy 中遗漏了一些关于 jmx 的权限,请帮助我,如果是,请评论。

机器上的Java版本: Java 版本“1.7.0_65”

OpenJDK 运行时环境 (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu0.14.04.1) OpenJDK 64 位服务器 VM(构建 24.65-b04,混合模式)

Tomcat 版本:tomcat-6.0.36

最佳答案

这就是它对我有用的地方 1)我选择 1005 作为 jmx 端口,我的 setenv.sh 是这样的:

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10005 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate =false -Dcom.sun.management.jmxremote.local.only=false -Djava.rmi.server.hostname=localhost"

2) 使用 ssh 重定向 jmx 端口和 rmi

3) 使用以下 uri 运行 Jconsole:service:jmx:rmi:///jndi/rmi://localhost:10005/jmxrmi

如果您需要更多信息,请查看这篇文章: http://ignaciosuay.com/how-to-connect-a-java-profiler-like-visualvm-or-jconsole-to-a-remote-tomcat-running-on-amazon-ec2/

关于tomcat - Jconsole 无法连接到在 AWS EC2 上使用安全选项运行的 tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36005175/

相关文章:

html - 相同的代码,相同的浏览器,相同的网络服务器,但看起来还是不一样

ruby - 重新请求错误: DirtyExit - Child process received unhandled signal

amazon-web-services - 如何在 Elastic Beanstalk 环境中使用 IMDSv2?

amazon-web-services - YAML 解析器错误 : could not found expected : in <unicode string>

java - 我在哪里可以在 Windows PC 上永久设置 Java 堆大小?

tomcat - 配置 Web 应用程序的根路径

amazon-web-services - Amazon ECS错误:无法创建没有容器的任务定义

linux - 如何在 linux 中使用 perl 从显示的输出中提取数字

java - 是否允许在 MBean 内处理线程?

java - 在jconsole中激活jmxmp