Удаленное соединение JMX

У вас есть два варианта:

  1. После подтверждения входа в систему, перенаправить на второй домен (поддомен) и установить там сеанс тоже
  2. После подтверждения входа загрузить пиксельное изображение с URL-адресом вашего второго домена (субдомена) EX:

    echo "< img href = ' https://sub.example.com ' />"

В обоих вариантах вы должны запустить скрипт на своем втором домене (поддомене), чтобы установить сеанс

Обновление

Пример установить сеанс:

У вас есть два варианта:

  1. После подтверждения входа в систему, перенаправить на второй домен (поддомен) и установить там сеанс тоже
  2. После подтверждения входа загрузить пиксельное изображение с URL-адресом вашего второго домена (субдомена) EX:

    echo "< img href = ' https://sub.example.com ' />"

В обоих вариантах вы должны запустить скрипт на своем втором домене (поддомене), чтобы установить сеанс

Обновление

Пример установить сеанс:

[110]

Обновление 2

Передача электронной почты и пароля между доменами (поддоменами) не рекомендуется, это небезопасно, но вы может устанавливать cookie или сеанс для идентификации электронной почты и пароля с уникальным идентификатором, который может передаваться между доменами (поддоменами)

SESSION['login'] = $id;

Обновление 2

Передача электронной почты и пароля между доменами (поддоменами) не рекомендуется, это небезопасно, но вы может устанавливать cookie или сеанс для идентификации электронной почты и пароля с уникальным идентификатором, который может передаваться между доменами (поддоменами)

91
задан tuler 7 May 2009 в 13:12
поделиться

3 ответа

Если бы это было в Linux, проблема была бы в том, что localhost - это петлевой интерфейс , который необходимо приложению для привязки к сетевому интерфейсу .

Вы можете использовать netstat для подтверждения того, что он не связан с ожидаемым сетевым интерфейсом.

Вы можете выполнить эту работу, вызвав программу с системным параметром java.rmi.server.hostname = "YOUR_IP" , либо в качестве переменной среды, либо с помощью

java -Djava.rmi.server.hostname=YOUR_IP YOUR_APP
111
ответ дан 24 November 2019 в 06:44
поделиться

Попробуйте использовать порты выше 3000.

-10
ответ дан 24 November 2019 в 06:44
поделиться

похоже, что ваша финальная цитата звучит слишком рано. Он должен быть после последнего параметра.

У меня этот трюк сработал.

Я заметил кое-что интересное: когда я запускаю свое приложение с помощью следующей командной строки:

java -Dcom.sun.management.jmxremote.port=9999
     -Dcom.sun.management.jmxremote.authenticate=false
     -Dcom.sun.management.jmxremote.ssl=false

Если я пытаюсь подключиться к этому порту с удаленной машины с помощью jconsole, TCP-соединение устанавливается успешно, некоторые данные обмениваются между удаленной jconsole и локальный агент jmx, в котором развернут мой MBean, а затем jconsole отображает сообщение об ошибке подключения. Я выполнил захват Wirehark, и он показывает, что обмен данными происходит как от агента, так и от jconsole.

Таким образом, это не проблема сети, если я выполняю netstat -an с системным свойством java.rmi.server.hostname или без него, у меня будут следующие привязки:

 TCP    0.0.0.0:9999           0.0.0.0:0              LISTENING
 TCP    [::]:9999              [::]:0                 LISTENING

Это означает, что в обоих случаях был создан сокет на порт 9999 принимает соединения с любого хоста по любому адресу.

Я думаю, что содержимое этого системного свойства используется где-то при соединении и сравнивается с фактическим IP-адресом, используемым агентом для связи с jconsole. И если эти адреса не совпадают, соединение не устанавливается.

У меня не было этой проблемы при подключении с одного и того же хоста с помощью jconsole, только с реальных физических удаленных хостов. Итак, я предполагаю, что эта проверка выполняется только тогда, когда соединение идет "извне".

8
ответ дан 24 November 2019 в 06:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: