我不想每次都麻烦于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地址。
如何正确操作?谢谢!