[java] rmi-server werkt niet op linuxserver via SSH

Pagina: 1
Acties:

  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 12:23
Ik heb hier een client-server applicatie dat met RMI werkt. Op m'n lokaal windows-netwerkje werkt het allemaal prima.
Nu moet ik de RMI-server op een linux-server zetten om connectie te kunnen maken met een database dat alleen maar localhost connecties accepteert.

Ik heb met de linux-server een remote connection gemaakt via ssl. De RMI-stubs zijn aangemaakt, en de source is zonder problemen gecompileerd. Ook heb ik de rmi.policy file op de linuxserver staan.

De source van de rmiserver applicatie is als volgt:

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package gameviewer.gameViewerServer;

import java.rmi.*;

public class GameViewerServer {

  public GameViewerServer() {

  }

  public static void main(String[] args) {
    if (System.getSecurityManager() == null) {
      System.setSecurityManager(new RMISecurityManager());
    }

    try {
      GameViewerServerManager obj = new GameViewerServerManager();
      Naming.rebind("//localhost/BoerenbridgeGameViewer",obj);
      System.out.println("BoerenbridgeGameViewer bound in registry");
    }
    catch (Exception e) {
      System.out.println("GameViewerServer error: " + e.getMessage());
      e.printStackTrace();
    }
  }
}


Deze wil ik opstarten met behulp van de volgende string:

java gameviewer/gameViewerServer/GameViewerServer
-Djava.rmi.server.codebase=file:/home/j3g07/
-Djava.security.policy=rmi.policy


Ik krijg de volgende foutmelding:
GameViewerServer error: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)


Het irritante is dat het wel gewoon werkt op m'n eigen netwerk.

Naar mij weten moet RMI wel over SSH kunnen werken. De rmiregistry is ook opgestart op de standaard poort.
Weet iemand waar het aan kan liggen?

[ Voor 4% gewijzigd door JeroenTheStig op 11-04-2003 10:49 ]


Verwijderd

Waarschijnlijk krijg je van linux geen rechten om een poort te openen. Doe is wat van velen niet mag, en log is in met root (hopende dat je dat nog niet hebt gedaan)

  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 12:23
zou best eens kunnen idd... ik zal de systeembeheerder even een meel sturen... wel vreemd, want deze server is speciaal voor client-server projecten opgezet (hio opleiding)

Verwijderd

[niet van toepassing]

[ Voor 92% gewijzigd door Verwijderd op 11-04-2003 21:08 ]


  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 12:23
Verwijderd schreef op 11 April 2003 @ 10:49:
Waarschijnlijk krijg je van linux geen rechten om een poort te openen. Doe is wat van velen niet mag, en log is in met root (hopende dat je dat nog niet hebt gedaan)
Ik heb contact gehad met de systeembeheerder, en er draait verder geen firewall of iets dergelijks. Rmiregistry luistert op poort 1099, en dit is prima te zien door netstat op de linuxserver te draaien:

(proto)tcp
(recv-Q)0
(Send-Q)0
(local adress)0.0.0.0:1099
(foreign adress) 0.0.0.0: *
(state) LISTEN
(pid/Program name)19449/rmiregistry

Zogauw ik de rmiserver wil opstarten met de juiste parameters, dan krijg ik nog steeds de volgende foutmelding:

RMI error: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)

Ik heb voor de zekerheid nog eens de rmiserver op mijn eigen pc opgestart met precies dezelfde policyfile en dezelfde paramters, en daar draait hij zonder problemen op.

[ Voor 6% gewijzigd door JeroenTheStig op 12-04-2003 12:04 ]


  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 12:23
Is er niemand die RMI op een linux-server aan de praat heeft gekregen?
Zou het misschien aan de policy-file kunnen liggen? Dit is wat ik er in heb gezet:

grant {
permission java.security.AllPermission;
};


Op m'n windows-machientje werkt het zonder problemen..

Verwijderd

Ehm, mijn eerste gedachte was idd dat je root-permissie's nodig had. Ik zit nu alleen te twijfelen, ikdacht dat alleen porten onder de 1000 root-permissies nodig hebben, maar misschien toch even het nakijken waard..

  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 12:23
Het probleem is opgelost :)

ik heb de parameters veranderd om de server mee op te starten.

java -Djava.security.manager -Djava.security.policy=rmi.policy <class-bestand>
Pagina: 1