Запуск node.js внутри веб-роли Azure

У меня есть очень простое приложение Nodejs, которое работает на порту 6647. У меня также есть приложение ASP.NET, которое работает на обычном порту 80. У меня есть сценарий запуска, который запускает node.exe при развертывании облачной службы. Он отлично работает на моем локальном эмуляторе вычислений. Однако при развертывании в облаке роль перезапускается несколько раз, и порт 6647 не открывается. Это моя конфигурация:

<Endpoints>
  <InputEndpoint name="HttpIn" protocol="http" port="80" />
  <InputEndpoint name="NodeHttpIn" protocol="http" port="6647" />
</Endpoints>

Я вошел на сервер с помощью удаленного рабочего стола, и узел запущен, и если я наберу в браузере

http://127.0.0.1:6647 

затем я получаю ответ от Node.

Это наводит меня на мысль, что балансировщик нагрузки не открыл 6647, несмотря на приведенную выше конфигурацию.

Кто-нибудь знает, почему я не могу запустить Nodejs вместе с IIS внутри веб-роли Azure (SDK v1.8, Windows Server 2012)? Отлично работает на моем ПК-разработчике и промежуточном сервере (виртуальная машина).

Благодарность


person krisdyson    schedule 04.11.2012    source источник


Ответы (1)


Вы пытались добавить задачу запуска, которая открывает порт 6647 в брандмауэре? Пример доступен здесь: Добавить правила брандмауэра к ВМ, работающим в Windows Azure (CSAzureAddFirewallRules)

person Sandrino Di Mattia    schedule 04.11.2012
comment
Спасибо за это. Я думал, что Azure сделает это через настройки в файле ServiceDefinition. - person krisdyson; 04.11.2012