2013-07-07 2 views
25

У меня есть сервер node.ja порт Сейчас слушаю 4000, то URL для доступа к службе что-то вроде этого:Как назначить доменное имя серверу node.js?

http://42.12.251.830:4000 

Я купил доменное имя

www.mychat.com 

Как я могу назначить его мой сервер? Сначала я использовал переадресацию, но тогда я больше не мог использовать location.hash, чтобы добавить канал чата в URL. Затем я использовал что-то вроде Header-Redirect. Теперь услуга доступна на mychat.com, но не по адресу www.mychat.com. Кроме того, имя домена не отображается в окне браузера. Для моего чата канала мне нужно что-то вроде этого:

www.mychat.com/#238husd4 
+1

См. Http://stackoverflow.com/questions/5009324/node-js-nginx-and-now – neiker

ответ

23

вы не назначить домен на Node.js сервера, вместо этого вы загрузите приложение на машину, которая имеет IP-адрес, который в вашем случае является 42.12.251.830:4000. Затем вы должны убедиться, что ваш app прослушивает правильный порт, который на большинстве серверов является 80

с помощью express это так просто, как

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); 

теперь получает доменное имя, чтобы указать на этот IP-адрес является совершенно отдельный вопрос. Вы должны сделать свой name server точкой для ip. Ваш сервер имен обычно будет компанией, которую вы купили доменное имя, например, GoDaddy - это сервер доменных имен (DNS). Поэтому, если у вас есть доменное имя с ними, вы перейдете на свой сайт под настройками DNS и измените адрес ip. Затем ваше доменное имя укажет на ваш IP-адрес и отобразит ваше приложение node.js.

+2

Старый вопрос. Но я считаю, что в этом есть нечто большее. Поскольку порт 80 требует более высоких привилегий, это само по себе не будет работать. Когда мое приложение прослушивает порт 80, просто дает мне недоступную ошибку веб-страницы. –

+0

Да, на локальном компьютере этот порт заблокирован. Попробуйте порт 3000 или что-то еще. Но на производственном сервере вы захотите использовать 80 или 443. – Loourr

+1

bt как заблокировать другие домены, которые обращаются к ip-адресу сервера? –