JConsole бүртгэлд холбогдоод, дараа нь RMI үүнийг өөр газар илгээдэг
Бүртгэлийн порт хариу өгөх нь зөвхөн эхний үсрэлт. Алсын JMX сервер өөр хост, өөр коннекторын порт зарлаж болох бөгөөд туннель хоёуланд нь хүрэх ёстой.
Туннелаар бүртгэлийн порт руу холбогдож, гар барилтын эхлэлийг ажиглаад, дараа нь JConsole хугацаа хэтэрч байгааг хар. Энэ нь эхний TCP холболт нь удирдлагын холболт биш, хайлт учраас тохиолддог. RMI бүртгэл нь хост болон хоёр дахь портыг заасан лавлагаагаар хариулж, дараа нь JConsole түүнд хэлсэн газар руу явдаг. Хэрэв туннел зөвхөн серверийн эхний порт хүрч байвал эсвэл лавлагаа зөвхөн серверийн өөрийнх нь локал сүлжээнд байдаг хаягийг зааж байвал, клиент гаднаа амжилттай болсон мэт харагдаад гацдаг.
Домог: нэг нээлттэй порт бол нэг холболт
RMI дээгүүр алсын JMX нь дор хаяж хоёр төгсгөлийн цэг агуулдаг бөгөөд тэдгээрийг системийн өөр өөр хэсгүүд сонгодог. Бүртгэлийн порт нь клиентэд бичдэг порт бөгөөд жинхэнэ коннекторыг дүрсэлсэн stub-ыг өгөхөд зориулагдсан. Эхний амжилттай сокетыг удирдлагын зам нээлттэй гэсэн баталгаа гэж үзэх нь хоёр минутын диагностикийг firewall тасалбараар дүүрэн үдэш болгоно.
Серверийн сонсогчдын жагсаалт биш, клиентийн өөрийнх нь алдааг хар. Гар барилт эхэлсний дараах алдаа нь эхний биш, хоёр дахь холболт дуусаагүй гэдгийг хэлнэ.
Бүртгэл юу буцаадаг
Stub нь коннектор үүссэн мөчид цуваа болгосон хаяг, портыг агуулна. Хэд хэдэн интерфейстэй сервер дээр стек локал сүлжээнээс хүрэх боломжтой, харин танайхаас хүрэх боломжгүй хаягийг сонгосон байж болно. Клиент ялгааг мэдэхгүй; тэр зүгээр л авсан утгыг залгаж, пакет тухайн хаягт байгаа замыг дагана, VPN клиент дээр энэ нь ихэвчлэн огт байхгүй. Хоёр дахь холболт оролдож байгаа мөч энэ.
Алдаа орчин хооронд тогтворгүй байх шалтгаан ч энэ: нэг сервер JMX тохиргоонд ямар ч өөрчлөлтгүйгээр локал сүлжээний хэрэглэгчид болон туннел дэх хэрэглэгчид өөрөөр ажиллаж болно.
Хоёр порт ба тэдгээрийг бэхлэх хоёр шинж
Бүртгэлийн порт com.sun.management.jmxremote.port параметрээс ирдэг бөгөөд коннекторыг стекийн хуваарилсанд үлдээхгүйгээр com.sun.management.jmxremote.rmi.port-ээр бэхлэж болно. Клиент болон серверийн хооронд firewall эсвэл аюулгүй байдлын бүлэг байвал хоёуланг нь тодорхой тохируул, учир нь урьдчилан таамаглашгүй хоёр дахь портыг урьдчилан зөвшөөрөх боломжгүй бөгөөд түүнийг хангахын тулд нээсэн өргөн хүрээ нь нэг утгыг бэхлэхээс дор.
Дараа нь сервер дээр ss -ltn эсвэл netstat -an ашиглан хоёр порт сонсож байгаа эсэх, ямар хаягууд дээр байгааг батал. Loopback-д холбогдсон сонсогч нь зөвхөн локал байршуулалтад зөв бөгөөд энэ тохиолдолд хэрэггүй.
Зарлагдсан нэр буруу үед
Алсын лавлагааны хост нэрийг java.rmi.server.hostname тогтоодог. Энэ нь stub юу зарлахад нөлөөлдөг; өөрөө өөрөө сонсогч бүрийг нэг интерфейст холбох заавар биш тул үүнийг тохируулах нь хүлээгдэж буй нэг портын зан төлөвийг үргэлж өгдөггүй. Үүнийг тохируул, процессыг дахин эхлүүл, дараа нь stub үнэхээр юу агуулж байгааг шалга. Клиент шийдэж, туннелаар хүрч чадах нэр эсвэл хаягийг сонгож, stub дахин бүтээгдэхийн тулд процессыг дахин эхлүүл.
Контейнер сүлжээнүүд үүнийг улам дордуулдаг, учир нь процессын харж буй хаяг нь контейнерын гаднаас юу ч чиглүүлж чадахгүй дотоод хаяг байж болно. Платформд сонголт хийхийг зөвшөөрөхгүйгээр зорьсон хост нэрийг тодорхой зарла.
Хэрэв VPN-ийн оронд SSH-ээр туннел хийж байгаа бол ижил асуудал өөр хувцаста гарч ирнэ: зөвхөн бүртгэлийн портыг дамжуулах нь хоёр дахь төгсгөлийн цэгийг таны клиент хүрч чадахгүй хаяг руу чиглүүлж үлдээнэ. Хоёр портыг дамжуулж, зарлагдсан нэр нь клиент локалаар хүрч чадах зүйл рүү шийдэгдэхийг ханга.
Хялбарчлахын тулд удирдлагын аюулгүй байдлыг бүү унтраа
Баталгаажуулалт болон TLS-ийг унтраасан хэсгүүд амархан олддог бөгөөд холболтыг дараа нь буцаах шаардлагатай болох байдлаар ажиллуулдаг. Алсын JMX нь өөрөө шалгаж буй процессын адил эрхтэй удирдлагын интерфейс; түүний нэвтрэх хяналтыг хадгал, хэрэв клиент итгэмжлэл гаргаж чадахгүй бол яг үүнийг зас.
Төгсгөлийн цэгүүд зөв болсны дараа харсан дараагийн алдааг хадгал. Итгэлийн сан эсвэл бүртгэлийн татгалзал нь хүрэх боломжгүй коннектороос хожуу үе шат бөгөөд сүлжээний ажил дууссан гэсэн үг.