1

我不想每次都为 SSL 和密码而烦恼,但仍然不希望 LAN 上的其他人可以访问我的程序的 JMX 功能。

~/.java.policy这样填充了我的:

grant principal javax.management.remote.JMXPrincipal "*" {
    permission java.net.SocketPermission "127.0.0.1", "accept";
    permission java.net.SocketPermission "my.lan.ip.addr", "accept";
    permission java.net.SocketPermission "another.lan.ip.addr", "accept";
    permission java.net.SocketPermission "*", "resolve";
}

不幸的是,这似乎没有效果——当程序启动时:

  • -Djava.security.manager
  • -Dcom.sun.management.jmxremote.ssl=false
  • -Dcom.sun.management.jmxremote.authenticate=false
  • -Dcom.sun.management.jmxremote
  • -Dcom.sun.management.jmxremote.port=1234

它的 JMX 功能仍然可以从任何地方访问,而不仅仅是从列出的几个 IP 中访问。

如何正确执行?谢谢!

4

0 回答 0