Java 如何限制对JMX的访问仅限于某些IP地址?

Java 如何限制对JMX的访问仅限于某些IP地址?,java,jmx,javapolicy,Java,Jmx,Javapolicy,我不想每次都麻烦SSL和密码,但仍然不希望局域网上的其他人可以访问我的程序的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",

我不想每次都麻烦SSL和密码,但仍然不希望局域网上的其他人可以访问我的程序的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

如何正确地做?谢谢大家!