2014-01-27 2 views
-1

Просто начинайте с Heroku, и я пытаюсь развернуть там приложение elses elses. Чтобы запустить сервер, я перехожу в node server.js, и это работает. Затем он показывает relevant IPs { '[MY IP ADDRESS]': null }Heroku Получить IP-адреса

Я развернулся в Heroku, и сервер работает, но он вызывает relevant IPs { dummy: null }. Я просмотрел код, чтобы найти то, что означает dummy. Вот что я нашел:

// find all ip addresses 
// We use a dummy for a special case where node can't list network interfaces (freeBSD) 

var sockets = {'dummy': null}; 
for (var name in interfaces) { 
console.log('discovering all IPs from', name); 
interfaces[name].forEach(function (ipInfo) { 
    if (ipInfo.internal == false && ipInfo.family == "IPv4") { 
    // this one is interesting, use it 
    delete sockets['dummy']; 
    sockets[ipInfo.address] = null; 
    } 
}); 
} 

console.log("relevant IPs", sockets); 

Итак, мой вопрос, может Heroku найти IP-адрес, и если да, то почему она воспитывает dummy?

ответ

0

Это ошибочный код. Он пытается найти первый IP-адрес без петли, чтобы напрямую привязываться к этому IP-адресу для входящего трафика.

Вы должны привязать ко всем доступным адресам через специальный адрес 0.0.0.0 для обслуживания на Heroku. Если вы предоставляете услугу за маршрутизатором Heroku, вы должны прослушивать порт, указанный в переменной окружения PORT.

+0

Я установил свой порт в файл 'server.js'. 'var port = process.env.PORT || 5000; ' – user3161730

+0

Как настроить его так, как вы говорите? – user3161730

+0

Если вы используете экспресс, вы можете полностью отключить IP-адрес: – Winfield

Смежные вопросы