Node.js HTTP Server auf VPS Server aufrufen

Javaris

Mitglied
Hallo, ich versuche zur Zeit mit Node.js Sachen aus zu testen, ich kann etwas Hilfe gebrauchen, bin noch ganz neu dabei.

Ich habe heute ein einfaches HTTP Server Beispiel ausgestet, folgender Code kommt in eine index Javascript Datei und dann startet man die Datei ueber node index.js

Java:
var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World!');
}).listen(8080);

Wenn man dann im Browser die Adresse http://localhost:8080 eingibt bekommt man ein "Hello Wordl" im Browser zurueck, ganz simpel und einfach klappt alles.

Jetzt habe ich das ganze auf die gleiche Weise auf ein VPS Server installiert und dort funktioniert es natuerlich auch genauso wie auf meinem PC, aber was ich jetzt machen will ist folgendes, wenn ich auf meinem lokalen PC die IP adresse von meinem VPS Server aufrufe, dann will ich den node.js server erreichen koennen und von ihm die Ausgabe auch bekommen, also zum beispiel folgende Adresse will ich auf meinem lokalen PC im browser eingeben: http://194.84.342.181:8080 also statt localhost gebe ich die IP Adresse vom VPS Server ein.

Im Moment funktioniert es nicht und ich weis nicht genau warum, muss ich in der index.js datei auf dem VPS Server Sachen einbauen und aendern, oder muss man fuer den VPS Server irgendwelche Sachen anders einstellen?
 
Also ohne Angabe einer IP sollte listen doch eigentlich an alle Adapter binden. Ich habe zwar mit node.js und dem http noch nichts gemacht, aber das wäre das übliche Vorgehen.

Was für ein Server hast Du denn da, wo du es laufen lässt? Ich würde da eher auf eine Firewall oder so tippen, die da Verbindungen von außen nicht zuläßt.
 
Also ohne Angabe einer IP sollte listen doch eigentlich an alle Adapter binden. Ich habe zwar mit node.js und dem http noch nichts gemacht, aber das wäre das übliche Vorgehen.

Was für ein Server hast Du denn da, wo du es laufen lässt? Ich würde da eher auf eine Firewall oder so tippen, die da Verbindungen von außen nicht zuläßt.
Ich habe ein windows vps server vom Anbieter vps2day. ich kenne mich leider auch nicht aus wie man vps server einstellt.
 
Meistens muss man noch angeben, dass man "mehr als localhost" möchte, zum Beispiel so:

Javascript:
var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World!');
}).listen(8080, "0.0.0.0");

Ich habe keine Erfahrung mit node.js, ich habe aber das hier gefunden: https://stackoverflow.com/a/44962707
 
Also ohne Angabe einer IP sollte listen doch eigentlich an alle Adapter binden.
Korrekt: https://nodejs.org/api/net.html#net_server_listen_port_host_backlog_callback
If host is omitted, the server will accept connections on the unspecified IPv6 address ( : : ) when IPv6 is available, or the unspecified IPv4 address (0.0.0.0) otherwise.
Es ist nicht nötig, die Wildcard-IP Adresse oder die öffentliche IP des Servers anzugeben.

@Javaris Meine Vermutung ist, dass hier einfach eine (default) Firewallregel greift, die erstmal (eventuell) nur SSH zulässt.
Bekommst du denn ein Socket- bzw. Connection Timeout, wenn du dich auf den VPS Server per Browser mit :8080 verbinden willst? Oder was für einen Fehler bekommst du genau?
 
Korrekt: https://nodejs.org/api/net.html#net_server_listen_port_host_backlog_callback

Es ist nicht nötig, die Wildcard-IP Adresse oder die öffentliche IP des Servers anzugeben.

@Javaris Meine Vermutung ist, dass hier einfach eine (default) Firewallregel greift, die erstmal (eventuell) nur SSH zulässt.
Bekommst du denn ein Socket- bzw. Connection Timeout, wenn du dich auf den VPS Server per Browser mit :8080 verbinden willst? Oder was für einen Fehler bekommst du genau?

ich habe eben heraus gefunden, das es dann funktioniert wenn ich die Firewall auf dem vps server komplett ausschalte. Also wird es daran liegen.
Jetzt muss ich mich wohl noch etwas genauer einlesen zum Thema Firewal und Ports freigeben, meint ihr als Laie darf man sowas ueberhaupt probieren, ist das nicht zu riskant wenn ich ein Port freigebe und nachher kann jeder irgendwie uebr dieses Port auf dem VPS Server zugreifen?
 

Zurück
Oben