Я в сети разработчика, и JBoss, который будет контролироваться с помощью JVisualVM, находится за брандмауэром клиента в отдельной сети. JBoss подвергается нам через NAT. Открытый порт JMX работает при использовании telnet из нашей сети разработчиков, но JVisualVM по-прежнему не находит удаленный JMX. По-видимому, это может быть связано с двумя вещами: 1) для доступа к одному или нескольким динамическим сокетам RMI или 2) «java.rmi.server.hostname» не определен. Моя проблема может быть как точками 1 и 2, но, по-видимому, так как мы имеем доступ SSH это может быть решено в соответствии с этим сайтом:JVisualVM удаленная работа, когда пункт назначения находится за NAT?
http://rafaelsteil.com/setting-up-jmx-for-jconsole-visualvm-on-ec2-plus-jetty-configuration/
«java.rmi.server.hostname» является публичным именем хост (как пример. com) вашего сервера, без HTTP или чего-либо еще. Вы не можете использовать внутренний адрес, иначе вы не сможете удаленно получить доступ к службе.
Однако у меня есть один вопрос о «java.rmi.server.hostname», должен ли указанный IP-адрес быть внутренним IP-адресом или NAT IP-сервера, который публично отображается в нашей сети разработчиков?
Да, я также понял, случайные связи RMI, а также решить проблему с помощью SSH туннелирование. Это как если бы изобретатели не знали, что существуют брандмауэры :) – user1340582
Хороший совет! FYI для меня настройки прокси-сервера JVisualVM не работали. Мне пришлось запускать его следующим образом: 'jvisualvm -J-DsocksProxyHost = localhost -J-DsocksProxyPort = 9999' – zeratul021