Node.JS und Express: get host-Anwendung ohne Anfrage
Habe ich laufen Node.JS & Express-Anwendung auf localhost (127.0.0.1), und ich brauche, um herauszufinden, den aktuellen host (domain), ohne Anfragen (für cron-job startet, wenn der server erstellt wird). Der server ist auf diese Weise erzeugt
app = express.createServer();
app.listen(PORT);
Nun habe ich folgende Lösung gefunden
app.address();
Jedoch den host zurückgegeben wird, ist 0.0.0.0
port zurückgegeben wird, richtig so ich glaube, ich muss irgendwie den host angeben, die während des server zu starten. Wie kann ich es erzwingen, um die richtigen Gastgeber? Ich habe versucht
app = express.createServer({host: '127.0.0.1'});
aber das funktioniert nicht 🙁
- Der Grund, warum Sie nicht bekommen kann einen host, bevor Sie eine Anforderung ist, dass Sie nicht wirklich wissen, dass es ohne eine. Ihr host kann geändert werden, indem Sie einen reverse-proxy wie Nginx. Da die Knoten sehr oft sitzt hinter diesen reverse Proxy in Produktionsumgebungen, es wäre eine sehr ungenaue Funktion, daher ist es dort nicht.
- Ich bin vor dem gleichen Problem. Ich arbeite mit einer
cron
mitnode-cron
- Modul exportiert eine csv-mails und den link zum Antragsteller die E-Mail-id. Aber ich bin nicht in der Lage, einen link erstellen, der auf der Grundlage der Umwelt. Ich will nicht hartcodieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://nodejs.org/docs/latest/api/os.html#os.hostname
Sieht aus wie könnte es das sein, was du bist suchen für.
uname -n
im linux - (oder computer-Namen in Windows). Aber die Anwendung läuft auf localhost (127.0.0.1) ich will also 127.0.0.1Sie nicht. Sie haben eine Anfrage zu stellen, um so etwas wie http://whatismyip.org/
Aber der Grund, warum Sie wollen, dass es für die geändert werden können. Es gibt einige Module, die verwendet werden können, anstatt einer tatsächlichen cron-job das zu tun, was Sie wollen.
https://github.com/ncb000gt/node-cron
app.address()
wenn Sie nicht bekommen kann der host?Alte Frage, aber jeder Landung, die hier Hilfe suchen, versuchen Sie dies:
können Sie bekommen gleiche Weise-port
Host kann erreicht werden, indem mehr als eine Ip verfügt, können Sie finden, gutes Beispiel, wie man es - im folgenden Artikel Sie erhalten lokale IP-Adresse in node.js