что остановило бы отображение моей html страницы в vm compute-engine при использовании "npm start" - PullRequest
1 голос
/ 09 июля 2020

Я новичок и надеюсь, что есть простой ответ на мою ошибку. Я установил node.js и npm в виртуальную машину вычислительной машины. Я использую s sh на виртуальной машине для доступа к своим файлам. Я создал базовую c html страницу (я прохожу эту часть курса). И теперь я должен обслуживать эту страницу командой npm start. Когда я запускаю это, кажется, что все работает, но когда я нажимаю ссылку внешнего IP для просмотра страницы html, время ожидания просто истекает. Я пробовал открыть брандмауэры, но, возможно, открываю неправильные. Я был бы признателен за совет о том, что делать дальше, чтобы это исправить. Спасибо

Вот что я вижу:


        > gitstore@1.0.0 start /home/barklera/gitstore
        > npm run lite
        > gitstore@1.0.0 lite /home/barklera/gitstore
        > lite-server
        Did not detect a `bs-config.json` or `bs-config.js` override file. Using lite-server defaults...
        ** browser-sync config **
        {
          injectChanges: false,
          files: [ './**/*.{html,htm,css,js}' ],
          watchOptions: { ignored: 'node_modules' },
          server: {
            baseDir: './',
            middleware: [ [Function (anonymous)], [Function (anonymous)] ]
          }
        }
        [Browsersync] Access URLs:
         -----------------------------------
            Local: http://localhost:3004
            External: http://<my ip>:3004
         -----------------------------------
            UI: http://localhost:3005
            UI External: http://localhost:3005
         -----------------------------------
        [Browsersync] Serving files from: ./
        [Browsersync] Watching files...

1 Ответ

0 голосов
/ 09 июля 2020

Вы должны создать правило брандмауэра, чтобы разрешить входящий трафик c на портах 3004 и 3005 (по крайней мере, я вижу их во фрагменте). По умолчанию они заблокированы .

Для этого вы можете использовать console ui или gcloud команду:

gcloud compute --project=proj_name firewall-rules create myrule1 --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:3004,tcp:3005 --source-ranges=0.0.0.0/0 --target-tags=tag1

Также, чтобы это правило работало, вы должны назначить вашему экземпляру сетевой тег tag1 .

Также - убедитесь, что внутренний брандмауэр в вашей виртуальной машине не блокирует этот трафик c - лучше не проверять его дважды:

netstat -tulpn | grep LISTEN

, и вы получите что-то похожее:

wbogacz_google_com@ssh3-osl-enabled:~/.ssh$ netstat -tulpn | grep LISTEN
(No info could be read for "-p": geteuid()=1762585940 but you should be root.)
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:24224         0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:514           0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::22                   :::*                    LISTEN      -

Вы можете четко указать порты, которые прослушивает машина - там должно быть 3004/3005 портов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...