Nano Hash - криптовалюты, майнинг, программирование

GCloud https к внешнему идентификатору и облачному DNS не работает

как будет очевидно, я не очень разбираюсь в сетях и ценю все подсказки и объяснения. Я написал небольшое веб-приложение в flask, используя gunicorn и nginx. Он контейнеризирован и работает локально. Моя цель — развернуть его в gcloud и указать правильное доменное имя.

Я установил небольшой вычислительный экземпляр. В этом экземпляре я использовал стандартные брандмауэры http и https. У меня зарезервирован и настроен внешний IP-адрес EXT_IP. Кроме того, я настроил брандмауэры для входа и выхода 443 в этом экземпляре. Я запускаю контейнер докера, сопоставляя порты 80 и 443 с портом контейнера. Я не уверен, нужно ли сопоставлять 443 с контейнерным портом. Когда я запускаю http://[EXT_IP], приложение работает так, как и ожидалось. Однако, когда я просто нажимаю на внешний IP-адрес или использую запрос https, я получаю сообщение об ошибке «Ошибка безопасного подключения».

Когда я запускаю nmap EXT_IP, я получаю следующий вывод, который выглядит разумным.

Host is up (0.039s latency).
Not shown: 994 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http
443/tcp  open   https
3389/tcp closed ms-wbt-server
8000/tcp closed http-alt
8001/tcp closed vcom-tunnel

Nmap done: 1 IP address (1 host up) scanned in 10.64 seconds

Кроме того, я попытался настроить Cloud DNS. Я купил домен в доменах Google и настроил запись A для домена на зарезервированный внешний IP-адрес и псевдоним CNAME для домена www.domain в домене. При попытке зайти на сайт с домена получаю ошибку не найдено. Когда я использую host domain_name, я получаю

Host [Domain Name] not found: 3(NXDOMAIN)

Я подозреваю, что две вещи идут не так. https и сопоставление DNS кажутся отдельными проблемами, но я не уверен.

Может ли кто-нибудь помочь мне, как решить один или оба из них? Заранее большое спасибо.


  • 1. Вы установили SSL-сертификат и настроили веб-сервер для использования протокола HTTPS? Если нет, то неудивительно, что ваш сервис не работает через HTTPS 2. На самом деле вы можете настроить записи DNS в домене Google вместо использования Cloud DNS. . 3. (Если вам это нужно) Ознакомьтесь с документацией Создайте управляемую общедоступную зону. Вы настроили DNS-серверы для своего домена так же, как и записи NS в вашей зоне? Пожалуйста, поделитесь своим доменным именем, если это возможно. 13.05.2020
  • 4. Да, HTTPS и DNS — это разные вещи. 5. Тем временем вы успешно настроили брандмауэр GCP. 13.05.2020
  • Спасибо, я посмотрю на это SSL-сертификаты, так как я ничего с ними не делал. Веб-сервер здесь nginx, верно? У вас случайно нет хорошего ресурса, удобного для непрофессионала? Доменное имя — dataforconsultants.uk. Спасибо еще раз! 13.05.2020
  • Давайте сначала закончим с DNS. Вы решили это? 13.05.2020
  • Извините, еще не было времени. Собственно, как я увижу, что мне конец? 13.05.2020
  • Поэтому я перешел по ссылке, которую вы дали для раздела 2. Там она направляет меня к созданию пользовательских записей ресурсов. Что мне указать для адреса ipv4 (я не уверен, что это такое)? Я вставил внешний IP-адрес, и он сказал, что в течение 48 часов он должен работать. это правильный путь? 13.05.2020
  • Давайте продолжим это обсуждение в чате. 13.05.2020
  • Да, это правильный путь, и да, вы должны использовать внешний IP. У вас есть зарезервированный внешний IP-адрес? Вы можете проверить распространение DNS с помощью таких инструментов, как dnsmap.io (он может быть доступен через 24 часа или даже раньше). После этого вы сможете увидеть свое приложение через http://domain.name и/или http://www.domain.name, если вы правильно настроили записи DNS. 14.05.2020
  • А пока ознакомьтесь со статьями Как защитить контейнерное приложение Node.js с помощью Nginx, Let's Encrypt и Docker Compose и Nginx и Let’s Encrypt с помощью Docker менее чем за 5 минут решить проблему с SSL. 14.05.2020
  • Спасибо за подтверждение! Пожалуйста, примите / поддержите мой ответ, если мои комментарии были вам полезны. 14.05.2020

Ответы:


1

У вас есть две отдельные проблемы:

  • настройка DNS-сервера;
  • Настройка веб-сервера NGINX.

Чтобы решить проблему с DNS, вы должны следовать одному из двух способов:

  1. use Google Domains only:
    • configure necessary DNS records at Google Domains side by following documentation Resource records;
    • удалить вашу зону из Google Cloud DNS.
  2. switch to Google Cloud DNS:

После этого следует подождать 24-48 часов для распространения DNS. Вы можете проверить статус DNS в Интернете с помощью таких сервисов, как dnsmap.io или mxtoolbox.com. Если все настроено правильно, вы сможете увидеть свое приложение через http://domain.name и/или http://www.domain.name.

Чтобы решить проблему с SSL, следуйте инструкциям из этих статей Как защитить контейнерное приложение Node.js с помощью Nginx, Let's Encrypt и Docker Compose и Nginx и Let's Зашифруйте с помощью Docker менее чем за 5 минут, чтобы решить проблему с SSL.

14.05.2020
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..