Я только начал пробовать виртуальную машину Ubuntu 16.04 в Azure. Приложение node.js требует прослушивания порта 3000 на сетевом интерфейсе, которому назначен общедоступный IP-адрес, чтобы удаленные клиенты могли подключаться к нему через Интернет.
Однако приложение node.js выдает ошибку
Error: bind EADDRNOTAVAIL 13.75.111.31:3000
Я уже добавил inbound security rule
в группу безопасности сети, чтобы разрешить:
и эта группа безопасности сети назначается виртуальной машине.
Дополнительно, ifconfig
возвращает только частный IP-адрес 10.0.0.4
на интерфейсе eth0
и lo
локальный шлейф. Интерфейс для общедоступного IP-адреса не найден. 13.75.111.31
.
Как мы можем решить эту проблему? Что-то настроено неправильно?
Общедоступный IP-адрес недоступен вам непосредственно на вашей виртуальной машине. Вместо этого Azure выполняет NAT 1: 1 между этим IP-адресом и частным IP-адресом вашего компьютера. Итак, просто настройте свои системы на прослушивание частного IP. Если что-то на уровне сети настроено правильно, все должно работать.