Назад | Перейти на главную страницу

Доступ к веб-серверу node.js в экземпляре виртуальной машины gce

Мы установили экземпляр виртуальной машины Windows на gce для тестирования веб-сервера с IIS, и он работает нормально: я могу получить доступ к своему приложению портала извне, поскольку брандмауэр имеет трафик http / https, включенный по умолчанию при создании виртуальной машины.

Однако нам нужно протестировать его сейчас с помощью node.js, и мы не можем получить к нему доступ извне при использовании тех же протоколов http / https. Мы сделали простой тест:

Мы протестировали несколько IP-адресов в прослушивателе («0.0.0.0», «127.0.0.1», internal_google_ip, external_google_ip и т. Д.), Но это не сработало.

Кто-нибудь знает, нужно ли нам настраивать какую-либо дополнительную конфигурацию в нашем экземпляре виртуальной машины, например, определенные сетевые интерфейсы GCE, настройки брандмауэра и т. Д.? Этого не должно происходить, поскольку, если он правильно сопоставлен с обработкой IIS, он также должен работать с простым веб-сервером node.js.

Кстати, если мы настроим это на наших внутренних серверах компании, if будет работать нормально. Пожалуйста помоги

Как вы упомянули, когда вы создаете экземпляр для IIS, вам нужно специально выбрать параметр, разрешающий трафик, как это чтобы он работал:

Брандмауэр

Добавьте теги и правила брандмауэра, чтобы разрешить определенный сетевой трафик из Интернета.

☑ Разрешить HTTP-трафик

☑ Разрешить трафик HTTPS

Это добавляет теги "http-сервер" и "https-сервер" к вашему экземпляру и по умолчанию в правилах вашего брандмауэра под «СЕТЬ VPC» у вас будут эти две политики:

default-allow-http
Ingress 
http-server
IP ranges: 0.0.0.0/0
tcp:80  Allow   1000    
default

default-allow-https
Ingress 
https-server
IP ranges: 0.0.0.0/0
tcp:443 Allow   1000    
default

Вы можете проверить как управлять политиками брандмауэра с помощью сетевых тегов, при правильном использовании он может упростить управление правилами брандмауэра.

После некоторого анализа проблема была легко решена: мы просто добавили правило брандмауэра, разрешающее трафик http / https (80 и 443 порта), и вуаля!

Кажется, что каким-то образом gce автоматически добавляет исключения брандмауэра, когда мы активируем доступ http / https во время создания виртуальной машины gce. Однако мы не можем найти эти исключения в конфигурации брандмауэра, что затрудняет понимание проблемы ...