JConsole ferbout him mei it register, en dan stjoert RMI it earne oars hinne
Dat de registry-poarte antwurdet, is mar de earste sprins. In fiere JMX-server kin in oare host en in oare connector-poarte oankundigje, en de tunnel moat beide berikke.
Ferbyn dy fia de tunnel mei de registry-poarte, sjoch it hânjaan begjinne en sjoch dan dat JConsole dochs in time-out krijt. Dat komt om't de earste TCP-ferbining net de behearferbining is: it is in sykopdracht. It RMI-register antwurdet mei in referinsje dy't in host en in twadde poarte neamt, en JConsole giet dêrnei dêr't it hinne stjoerd is. As de tunnel allinnich de earste poarte fan de server berikt, of de referinsje neamt in adres dat allinnich op it eigen LAN fan de server bestiet, bliuwt de klant hingjen nei't it skynber slagge is.
De myte: ien iepen poarte is ien ferbining
Fier-JMX oer RMI omfettet op syn minst twa einpunten, en dy wurde troch ferskate dielen fan it systeem keazen. De registry-poarte is watst yn de klant yntypst, en dy bestiet om de stub út te jaan dy't de eigentlike connector beskriuwt. De earste slagge socket as bewiis nimme dat it behearpaad iepen is, makket fan in diagnoaze fan twa minuten in middei fol firewalltickets.
Sjoch nei de flater fan de klant sels ynstee fan de lústerlist fan de server. In flater nei't it hânjaan begûn is, fertelt dy dat de twadde ferbining, net de earste, net foltôge is.
Wat it register weromjout
De stub befettet in adres en in poarte, serialisearre op it momint dat de connector makke waard. Op in server mei ferskate ynterfaces hat de stack miskien in adres keazen dat fan it lokale netwurk berikber is en fan dat fan dy net. De klant ken it ferskil net; hy skillet gewoan de wearde dy't er krigen hat, en it pakket folget de rûte dy't foar dat adres bestiet, dy't op in VPN-klant faak hielendal gjinien is. Dat is it momint dêr't de twadde ferbining besocht wurdt.
Dat is ek wêrom't de flater per omjouwing wikselt: deselde server kin him oars gedrage foar in brûker op it LAN en in brûker op de tunnel, sûnder dat der wat oan de JMX-konfiguraasje feroaret.
Twa poarten en twa eigenskippen dy't se fêstsette
De registry-poarte komt fan com.sun.management.jmxremote.port, en de connector kin mei com.sun.management.jmxremote.rmi.port fêstset wurde ynstee fan oan de stack oerlitten te wurden. Set beide eksplisyt as der in firewall of in befeiligingsgroep tusken de klant en de server sit, want in ûnfoarsisbere twadde poarte kin net foarôf tastien wurde, en in breed berik dat dêrfoar iepene wurdt is slimmer as ien wearde fêstsette.
Befêstigje dêrnei mei ss -ltn of netstat -an op de server dat beide poarten lústerje en op hokker adressen. In lústerder dy't oan loopback bûn is, is korrekt foar in folslein lokale útrol en nutteleas foar dizze.
As de oankundige namme ferkeard is
De hostnamme dy't yn 'e fiere referinsje ferskynt, wurdt troch java.rmi.server.hostname ynsteld. It beynfloedet wat de stub oankundiget; it is op himsels gjin opdracht om elke lústerder oan ien ynterface te binen, en dêrom jout it net altyd it ferwachte gedrach mei ien poarte. Set it, start it proses opnij en kontrolearje dan wat de stub eins befettet. Kies in namme of adres dat de klant oplosse kin en fia de tunnel berikke kin, en start it proses opnij sadat de stub opnij boud wurdt.
Container-netwurken meitsje dit slimmer, om't it adres dat it proses sjocht in yntern ien wêze kin dêr't neat bûten de container hinne routet. Publisearje de bedoelde hostnamme eksplisyt ynstee fan it platfoarm kieze te litten.
As do mei SSH tunnellet ynstee fan in VPN, ferskynt itselde probleem yn in oar kleed: allinnich de registry-poarte trochstjoere lit it twadde einpunt wize nei in adres dat dyn klant net berikke kin. Stjoer beide poarten troch en soargje derfoar dat de oankundige namme oplost nei eat dat de klant lokaal berikke kin.
Skeakelje de behearsbefeiliging net út om it ienfâldich te hâlden
Snippets dy't autentikaasje en TLS útsette binne maklik te finen en litte de ferbining wurkje op in manier dy'tst letter weromdraaie moatst. Fier-JMX is in behearinterface mei deselde foarrjochten as it proses dat er ynspektearret; hâld de tagongskontrôles, en as de klant gjin ynloggegevens oanbiede kin, meitsje dat dan ynstee yn oarder.
As de einpunten kloppe, bewarje dan de folgjende flater dy'tst sjochst. In ôfwizing troch in truststore of akkount komt letter as in ûnberikbere connector en betsjut dat it netwurkwurk dien is.