VServer und Glassfish V2

tim.kaufner

New Member
Hallo Leute,
ich habe mir bei 1und1 einen VServer gemietet. Darauf habe ich als OS Debian 4.0, JRE1.6 und den Glassfish Appserver in der Version 2 installiert. Der Glassfish-Server läuft, nur habe ich leider das Problem dass ich nicht auf die Administrationsoberfläche komme... Ich habe alles versucht, sogar die IP Adresse im Browser eingegeben (http://x.x.x.x:4848). Ein Portscan auf die IP ergab auch, dass der Dienst angeblich gar nicht läuft... Der Dienst läuft aber definitiv. So wie es aussieht, wird nur an die lokale Adresse gebunden (localhost), dh der Dienst ist nur auf diesem Rechner (also dem VServer) verfügbar...
Ich habe dieselbe Installation zum Testen auf meinem lokalen Debian-System, durchgeführt und dort funktioniert alles, dh der Rechner ist auch von ausserhalb verfügbar.
Muss ich noch andere Einstellungen vornehmen?

Greetz
Tim
 
Hallo Tim,

Ich hab noch nie mit diesem Programm gearbeitet, aber wenn du dir sicher bist, dass der Dienst läuft und lediglich am localhost "lauscht" dann musst du in der Konfiguration von diesem Dienst nachschauen:
Normalerweise gibt es dort irgendwo immer eine Option "bind" oder "listen".

Die wird dann wahrscheinlich so aussehen:
Bind 127.0.0.1:4848

Diese solltest du dann ändern auf:
Bind DEINEIP:4848

oder eben:

Bind *:4848 (um an allen Adressen zu horschen)

EDIT: Hab mal ein bisschen gegooglt:
http://forums.java.net/jive/thread.jspa?threadID=53738
 
Last edited by a moderator:
Danke für die schnelle Antwort :)
Daran habe ich auch schon gedacht... Beim Server-Startup wird in der Log-Datei von Glassfish folgendes ausgegeben:
Code:
Starting Domain domain1, please wait.
Log redirected to /srv/glassfish/domains/domain1/logs/server.log.
Redirecting output to /srv/glassfish/domains/domain1/logs/server.log
Domain domain1 is ready to receive client requests. Additional services are bein
g started in background.
Domain [domain1] is running [Sun Java System Application Server 9.1_02 (build b0
4-fcs)] with its configuration and logs at: [/srv/glassfish/domains].
Admin Console is available at [http://localhost:4848].
Use the same port [4848] for "asadmin" commands.
User web applications are available at these URLs:
[http://localhost:8080 https://localhost:8181 ].
Following web-contexts are available:
[/web1  /__wstx-services ].
Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
[service:jmx:rmi:///jndi/rmi://xxxxx.onlinehome-server.info:8686/jmxrmi] for
 domain management purposes.
Domain listens on at least following ports for connections:
[8080 8181 4848 3700 3820 3920 8686 ].
Domain does not support application server clusters and other standalone instanc
es.
Wenn ich jetzt
Code:
netstat -apn | grep LISTEN
eingebe, wird folgendes (Auszug) ausgegeben:
Code:
tcp        0      0 0.0.0.0:4848            0.0.0.0:*               LISTEN     30506/java

Ich habe auch die Konfigurationsdatei gefunden wo ich die Bind-Adresse eingeben kann. Das habe ich allerdings vorher schon einmal versucht (hab die Adresse 0.0.0.0 auf die richtige IP umgestellt unter der der Server erreichbar ist), leider auch ohne Erfolg...
netstat gibt dann folgendes aus:
Code:
tcp        0      x.x.x.x:4848            0.0.0.0:*               LISTEN     30506/java
Sonst noch eine Idee woran das liegen könnte? Ich hab zum Testen momentan einen Tunnel erstellt der auf einen lokalen Port bindet, das funktioniert (dh der Dienst läuft tatsächlich und ist zumindest lokal erreichbar).
 
Das 0.0.0.0:Port bedeutet, dass der Dienst auf allen Interfaces lauscht -- da sollte also auch die von außen sichtbare IP-Adresse mit dabei sein. Insofern ist es wahrscheinlich, dass der Port durch die aktuellen Firewall-Einstellungen geblockt wird.

Die Lösung mit dem Tunnel finde ich nicht so schlecht, da man solche Administrationsoberflächen normalerweise nicht der ganzen Welt zeigen möchte (daher sicherlich auch die default-Einstellung nur mit localhost). Eine andere Alternative wäre auf dem Apache-Webserver mod_proxy zu konfigurieren, so dass darüber auf die localhost-Adresse zugegriffen werden kann (nach vorheriger Authentifizierung und hinter einem nicht verlinkten URL).
 
Ok, danke. Thema Firewall :)
Wie schaue ich nach ob das geblockt wird? Hab mich noch nie damit beschäftigt...

Der Tunnel stellt nur ein Workaround dar, dieser soll später natürlich entfallen. Die Admin-Oberfläche wird eh per SSL durchgehend verschlüsselt.
Die Installation eines Apache-Webservers ist nicht notwendig und auch nicht vorgesehen.

Kannst du mir vlt nen Tip oder ein gutes Tutorial über Firewall (Debian) empfehlen?

Greetz
 
EDIT: Ich hab den Fehler gefunden... Unsere Firmenfirewall blockt diese Verbindung. Von daher muss ich auf die Tunnel-Lösung zurückgreifen...

Trotzdem vielen Dank für die Infos :)
 
Back
Top