Рейтинг:1

Не удалось получить доступ к виртуальной машине GCP Compute Engine через доменное имя

флаг gb

Я оцениваю Google Cloud Platform, чтобы посмотреть, смогу ли я создать сеть приложений, которые мне нужны для проекта, который я планирую начать в ближайшее время. На данный момент у меня включен API Compute Engine в моем проекте GCP и настроен экземпляр виртуальной машины, на котором установлен Apache и он готов обслуживать веб-страницы.

Прямо сейчас я могу получить к нему доступ только через внешний IP-адрес. Я хочу иметь доступ к этой виртуальной машине через доменное имя, которое я приобрел через Google Domains.

Я последовал за это руководство для настройки доменных имен, статических IP-адресов, конфигураций DNS, зон и т. д.

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

копать +трассировка domain.com

или же

nslookup домен.com

Оба они показывают внешний IP-адрес, но когда я набираю доменное имя в своем браузере, оно не преобразуется в этот IP-адрес, и я не вижу содержимое веб-сервера моей виртуальной машины.

Я тоже пошел проверить DNS-треки и ввел доменное имя, и он показывает правильные записи.


Я все еще ищу руководства, и, возможно, мне следовало пойти с этим: https://cloud.google.com/compute/docs/instances/custom-hostname-vm - когда я создавал свой экземпляр виртуальной машины, я не настроил для него имя хоста, может ли это быть из-за этого?


Настройки брандмауэра GCP:

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

Michael Hampton avatar
флаг cz
Какое доменное имя?
dokgu avatar
флаг gb
@Майкл Хэмптон Fruitloops.dev
Michael Hampton avatar
флаг cz
Время истекло для меня. Проверьте свой брандмауэр.
dokgu avatar
флаг gb
@MichaelHampton Когда я установил Apache на виртуальную машину, руководство, которое я использовал, заставило меня выполнить как `sudo firewall-cmd --permanent --add-service=http`, так и `sudo firewall-cmd --permanent --add-service= https`. Я должен был сделать больше, чем это?
Michael Hampton avatar
флаг cz
Ваш брандмауэр GCP, а не внутренний брандмауэр виртуальной машины.
dokgu avatar
флаг gb
@MichaelHampton Я отредактировал вопрос, включив в него снимок экрана с настройками брандмауэра GCP. Я действительно не знаю, как работают брандмауэры - я не очень разбираюсь в сетях.
Michael Hampton avatar
флаг cz
Хорошо, это кажется разумным, но есть ли у вашей виртуальной машины эти теги? Если нет, то правила брандмауэра к нему не применяются.
dokgu avatar
флаг gb
@MichaelHampton, единственный сетевой тег, который я вижу на виртуальной машине, это «http-server». Что еще мне нужно добавить? Я думаю, что этот тег был добавлен, потому что я включил доступ по HTTP, но не по HTTPS.
Michael Hampton avatar
флаг cz
Так как вам нужен порт 443, вы также должны иметь тег https-server.
dokgu avatar
флаг gb
@MichaelHampton Я добавил этот тег, но по-прежнему не могу просматривать страницу, используя доменное имя.Я полагаю, что это были исходные теги, которые были у меня на виртуальной машине, когда я ее создавал, но, поскольку у меня были проблемы, я удалил HTTPS, потому что его не было в руководстве, которому я следовал. Однако установка обратно не решила проблему.
Michael Hampton avatar
флаг cz
Что ж, теперь ваш порт брандмауэра открыт, и, кажется, он работает нормально. Теперь я получаю отказ в соединении. Это означает, что теперь вам нужно запустить веб-сервер.
dokgu avatar
флаг gb
@MichaelHampton Apache запущен, и я могу просматривать страницу, используя внешний статический IP-адрес, который я для него настроил: 35.235.65.238.
Michael Hampton avatar
флаг cz
Однако он не отвечает на порт 443. Вот где твоя проблема.
dokgu avatar
флаг gb
@MichaelHampton, когда я устанавливал Apache, было рекомендовано создавать виртуальные хосты, но, поскольку это не требовалось, я просто пропустил это. Я посмотрю, смогу ли я установить их и свяжусь с вами.
Michael Hampton avatar
флаг cz
Я думаю, вы упустили что-то очень важное: вы купили домен .dev. В этом домене (и в нескольких других) включен HSTS для всего TLD, поэтому требуется использование https.
dokgu avatar
флаг gb
@MichaelHampton Я видел, что, когда я купил домен и намереваюсь перевести все на HTTPS, я сейчас просто оцениваю GCP, поэтому я знаю, что то, что я планирую сделать, возможно.
Michael Hampton avatar
флаг cz
Хорошо, так как ваша проблема исправлена, я резюмировал ее в ответ.
Рейтинг:8
флаг cz

Вы купили домен .dev, поэтому вам нужен входящий трафик на https (TCP-порт 443). В этом домене (и в нескольких других) включен HSTS для всего TLD, поэтому требуется использование https.

Ваш брандмауэр GCP показывает, что у вас есть разрешающее правило для этого трафика, но только для виртуальных машин с тегом https-server. У вашей виртуальной машины нет этого тега, поэтому присвоив ей этот тег, вы разрешите входящий порт 443.

На этом этапе вам необходимо настроить веб-сервер с сертификатом TLS и отвечать на запросы TLS через порт 443.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.