Google Cloud Platform: внешний IP-адрес недоступен извне

Недавно я начал работать с «Google Cloud Platform». Я в основном хочу использовать его для своего проекта по науке о данных. Я успешно настроил проект, экземпляр виртуальной машины, правила брандмауэра и т. Д.

введите здесь описание изображения

Я установил Jupyter Notebook, который работает на порту 8888, и установил сервер Tomcat Apache. Теперь я хочу получить к ним доступ через статический внешний IP-адрес моей виртуальной машины, но они недоступны, когда я упоминаю статический внешний IP-адрес.

Я проверил внешний путь, включен трафик HTTP (s) проекта, добавлены правила брандмауэра для Apache tomcat и Jupyter Notebook, и Ping для этого внешнего IP-адреса также работает. На изображении ниже можно увидеть все правила брандмауэра для jupyter notebook и tomcat:

введите здесь описание изображения

Я пробовал получить доступ следующими способами:

  • https: // {static-external-ip} /
  • https: // {static-external-ip}: 8080 /
  • https: // {static-external-ip}: 888 /

Любая помощь в этом отношении будет большим подспорьем. Удачного обучения!

Обновление: 10 ноября 2018 г. Я могу получить доступ к серверам, используя следующие URL-адреса:

Во-первых, они недоступны публично (извне), а во-вторых, проблема при доступе к серверам со статическими внешними IP-адресами все еще существует.

Вы явно открыли порт 8888 в правилах брандмауэра? HTTP (s) и Tomcat / Jupyter — это все HTTP-серверы, поэтому, вероятно, все они работают на порту 80 (или 443 для HTTP (s)) по умолчанию, поэтому использование настраиваемого порта 8888, вероятно, является вашей проблемой. Вы можете либо открыть этот порт и получить к нему доступ через https://{static-external-ip}:8888, либо перезапустить ноутбук через порт 80, а затем получить к нему доступ через https://{static-external-ip}.   —  person Bilal Ahmed Yaseen    schedule 10.11.2018

См. также:  Переводчик когнитивных служб Azure обнаруживает, что язык не работает

@Dan, спасибо за ответ. Да, как я уже упоминал в своем вопросе, я уже настроил правила брандмауэра, и я также добавил изображение в фактический вопрос для вашей справки. И основная проблема заключается в том, что сервер tomcat, который уже работает на порту по умолчанию, также недоступен.   —  person Bilal Ahmed Yaseen    schedule 10.11.2018

Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Bilal Ahmed Yaseen

    Кажется, вы выполнили все шаги для того, чтобы предоставить сервис извне, за исключением того, что я предполагаю одно — слушает ли Jupyter интерфейс loopback? Согласно документации Jupyter

    By default, a notebook server runs locally at 127.0.0.1:8888 and is accessible only from localhost. You may access the notebook server from the browser using https://127.0.0.1:8888.

    В документации содержится информация о том, как сделать его доступным для внешний мир. Короче говоря, для доступа к сервису необходимо выполнить привязку на всех интерфейсах (IP).

    Спасибо @ Daniel-t за ваш ответ. Но я уже добавил эту опцию при настройке. Я добавил эти две строки относительно этого: 1) Notebook.ip = / * и 2) notebook.allow_origin = / *. P.S: добавлена ​​косая черта намеренно, так как исчез только один символ эстерика. person Bilal Ahmed Yaseen; 10.11.2018

    Итак, я не думаю, что проблема связана с этими конфигурациями, как я уже упоминал в своем вопросе, что я также пробовал то же самое с простым сервером Tomcat Apache и наблюдал ту же ошибку. Так что, не имея возможности понять то, что упустили :) Я реально морочу голову над этим … person Bilal Ahmed Yaseen; 10.11.2018

    Можете ли вы опубликовать вывод этой команды — netstat -tan |grep 8888? person Bilal Ahmed Yaseen; 10.11.2018

    Я не получаю никаких результатов после выполнения этой команды. Ни ошибки, ни ответа. person Bilal Ahmed Yaseen; 10.11.2018

    хм, вы уверены, что Jupyter работает на 8888? Эта команда покажет вам все службы, прослушивающие порт 8888. Попробуйте это — sudo netstat -talpn | grep -i jupyter person Bilal Ahmed Yaseen; 10.11.2018

    Извините, я сейчас использую его на 8889. Для команды: netstat -tan | grep 8888 == ›tcp 0 0 0.0.0.0:8889 0.0.0.0:* LISTEN tcp6 0 0 ::: 8889 ::: * LISTEN person Bilal Ahmed Yaseen; 10.11.2018

    Давайте попробуем туннель ssh, вы создадите туннель ssh на порт 8889 (jupyter?), А затем подключитесь к нему из локального браузера. Попробуйте это ssh -f -N -L 8889:localhost:8889 [email;protected]_ip — замените username и external_ip информацией об экземплярах виртуальной машины. Если ssh успешно завершен, запустите браузер и нажмите localhost: 8889 </ а> person Bilal Ahmed Yaseen; 10.11.2018

    Давайте

    продолжим это обсуждение в чате. person Bilal Ahmed Yaseen; 10.11.2018

    sudo ssh -N -f -L localhost: 8888: localhost: 8889 [email protected] Подлинность хоста ’35 .201.179.179 (35.201.179.179) ‘не может быть установлена. Отпечаток ключа ECDSA — SHA256: eFraJmrXeAWB3IeN0Rk / nWkiHCkm5YLzlGha0ASslic. Вы уверены, что хотите продолжить подключение (да / нет)? да Предупреждение: постоянно добавлено «35 .201.179.179» (ECDSA) в список известных хостов. В разрешении отказано (публичный ключ). person Bilal Ahmed Yaseen; 10.11.2018

    После прочтения сеанса чата выяснилось, что вы были запуск вашей установки в Cloud Shell. Таким образом, ваш тест подключения к виртуальной машине не был успешным. Я бы рекомендовал размещать такие вопросы в ServerFault, поскольку StackOverflow предназначен для вопросов и ответов для профессиональных программистов и энтузиастов. person Bilal Ahmed Yaseen; 16.11.2018

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: