2013-07-07 11 views
25

Ho un server node.ja listining alla porta 4000, l'URL per accedere al servizio è qualcosa di simile:Come assegnare un nome di dominio al server node.js?

http://42.12.251.830:4000 

ho acquistato un nome di dominio

www.mychat.com 

Come posso assegnarlo a il mio server? Per prima cosa ho utilizzato l'inoltro, ma non potevo più usare location.hash per aggiungere un canale di chat all'URL. Poi ho usato qualcosa come Header-Redirect. Ora il servizio è raggiungibile su mychat.com, ma non su www.mychat.com. Inoltre il nome del dominio non è mostrato nella finestra del browser. Per il mio canale di chat ho bisogno di qualcosa di simile:

www.mychat.com/#238husd4 
+1

Vedere: http://stackoverflow.com/questions/5009324/node-js-nginx-and-now – neiker

risposta

23

voi non assegnare un dominio a un server node.js, invece di caricare la vostra applicazione su una macchina che ha un indirizzo IP, che nel tuo caso è 42.12.251.830:4000. È quindi necessario assicurarsi che il vostro app è in ascolto sulla porta corretta, che sulla maggior parte dei server è 80

usando express è così semplice come

var app = express() 
    , server = require('http').createServer(app) 
    , io = io.listen(server); 

app.get('/', function(req, res) { 
    res.sendfile('./public/index.html'); 
}); 
server.listen(80); 

ora ottenere un nome di dominio per puntare a questo indirizzo ip è una questione completamente separata. È necessario impostare il punto name server sull'ip. Il tuo server dei nomi sarà solitamente la società con cui hai acquistato il nome del dominio, ad esempio GoDaddy è un Domain Name Server (DNS). Quindi se avessi un nome di dominio con loro, andresti sul loro sito sotto le impostazioni DNS e cambierai l'indirizzo IP. Il tuo nome di dominio punta quindi al tuo indirizzo ip e dovrebbe rendere la tua app node.js.

+2

Vecchia domanda. Ma credo che ci sia più di questo. Poiché la porta 80 richiede privilegi più elevati, questo da solo non funzionerà. Avere la mia app in ascolto sulla porta 80 mi dà solo un errore di pagina web non disponibile. –

+0

sì, su una macchina locale quella porta è bloccata. Prova port 3000 o qualcosa di più alto. Ma su un server di produzione ti consigliamo di utilizzare 80 o 443. – Loourr

+1

bt come bloccare altri domini che indirizzano all'indirizzo IP del server? –

Problemi correlati