Рейтинг:0

Как настроить DNS на доменах Google для размещения веб-сайтов Tomcat в Интернете

флаг us

Ожидания / цель

  • У нас есть домен как (скажем) пример.com купил на Google Домены и ПК с Windows 10 Pro
  • Мы намерены сделать этот компьютер сервером для размещения 2 наших веб-приложений. приложение1 и приложение2 В настоящее время у нас нет статического IP-адреса, поэтому давайте назовем общедоступный адрес следующим образом: 192.0.2.0
  • Веб-приложения приложение1 и приложение2 работают на tomcat в отдельных приложениях и портах 8081 & 8082
  • Мы хотим бежать приложение1 и приложение2 на поддоменах app1.example.com и app2.example.com соответственно.

Вот все, что работает:

  1. веб-приложения работают на отдельной базе приложений в tomcat (v9) на отдельных портах и ​​доступны локально и из интрасети.
  2. веб-приложения также доступны из Интернета при успешной переадресации портов (192.0.2.0:8081 и 192.0.2.0:8082 успешно загрузить приложение1 и приложение2 соответственно).

Проблема: домен URL заменяется общедоступным IP-адресом:

Теперь, когда переадресация портов прошла успешно, я попробовал переадресацию домена (прежде чем много читать о том, как должна выполняться конфигурация DNS).

Вот как я сделал переадресацию домена:

  1. Я зашел в раздел сайта (веб-сайт_section_cropped_screen_shot.png), там нажали Добавить адрес для пересылки(Add_a_forwarding_address_SS_cropped.png).
  2. Затем в полученной форме заполнены текстовые поля, помеченные Переслать из и Переслать с app1.example.com и 192.0.2.0:8081 соответственно.

Теперь после этого адрес app1.example.com перенаправит на приложение1 но URL-адрес заменит app1.example.com с 192.0.2.0:8081

Затем я прочитал много статей и блогов, в которых говорилось, что нужно добавить запись типа A или запись типа CNAME, но я не мог понять, как мне это сделать или какая комбинация записей необходима для правильной работы.

Я попробовал комбинацию (в Домен раздел):

Комбинация 1:

{имя хоста=example.com, тип=A, TTL=3600, данные:192.0.2.0}
{имя хоста=app1.example.com, тип=CNAME, TTL=3600, данные:192.0.2.0:8081}

Комбинация 2:

{имя хоста=app1.example.com, тип=TXT, TTL=3600, данные:192.0.2.0:8081}

Но ни один из них не работал, и позже это перестало иметь для меня смысл.

Пожалуйста, помогите мне с этим. У меня нет опыта в настройке DNS для веб-сайта и / или чего-либо еще, что необходимо для удовлетворения вышеупомянутых ожиданий.

ОБНОВИТЬ


Благодаря @fvu я смог начать работу с nginx, настроил его локально, который работает, и понял, как работает прокси-сервер (ну, только в лучшем случае)

Теперь есть другая проблема, я не могу успешно открыть порт 80 на сервере.

Я пробовал и тестировал все:

  • nginx успешно запускается и работает на порту 80, что означает, что 80 не заблокирован каким-либо другим процессом.
  • все остальные порты правильно перенаправляются, но порт 80 не отображается открытым на многих сайтах проверки портов (в основном на portchecker.co)
  • чтобы проверить, что происходит, я отредактировал настройки брандмауэра, чтобы добавить правила и начать регистрировать РАЗРЕШЕННЫЕ, а также ЗАПРЕЩЕННЫЕ пакеты для всех профилей (домен, общедоступный и частный)
    • в логах увидел, что были какие-то запросы на 443 порт. Я подозреваю, что запрос в порту 80 каким-то образом преобразуется в 443, но точно не знаю. ЯВЛЯЕТСЯ ЛИ ЭТО ВОЗМОЖНЫМ?
    • было много запросов на порт 80, которые были разрешены, но порт 80 по-прежнему отображается как закрытый на сайтах проверки портов.

Теперь мне придется либо исправить проблему с не открывающимся портом 80, либо изменить порт nginx на что-то другое, кроме 80.

Но если порт изменится, меня нужно будет упомянуть где-то, например, в записях DNS или около того ... что мне немного неясно.

Я подумал, может быть, в маршрутизаторе я мог бы перенаправить порт 80 на 81 и запустить nginx на 81 или около того. но мне нужно попробовать это еще.

Между тем, не могли бы вы рассказать мне что-нибудь о том, как управлять обратным прокси-сервером с помощью nginx, работающего на порту, отличном от 80.

[СПЕШУ, ПОЭТОМУ МОЖЕТ СОДЕРЖАТЬ ОПЕЧАТКИ ИЛИ МЕНЬШЕ ПОДРОБНОСТЕЙ. ПОЖАЛУЙСТА, СПРАШИВАЙТЕ, ЕСЛИ НЕОБХОДИМО!]

Рейтинг:0
флаг al
fvu

Поскольку у вас нет статического IP-адреса для сервера, вам придется сделать обход через одного из динамических провайдеров DNS (может быть, домены Google уже реализуют такую ​​услугу, не знаю).

ТОГДА вы сможете ЗАПИСАТЬ это имя на app1.example.com И app2.example.com (две записи CNAME для ясности!!!). Вы не можете указать порт в записи CNAME (см. здесь на сопутствующий вопрос).

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

Теперь, чтобы избавиться от пользовательских портов, но при этом иметь возможность запускать две службы на одном адресе, на который указывают два имени хоста, используйте обратный прокси-сервер, который поддерживает SNI перед вашими Tomcats. Мне нравится нгинкс, прежде чем мы использовали фунт который легче настроить для простых конфигураций, но есть из чего выбирать. Или запустите обе службы в одном Tomcat и используйте встроенную в Tomcat поддержку SNI.

Есть действительно много шагов (и вспомогательных вещей для настройки), чтобы заставить этот тип настроек работать, я надеюсь, что мое объяснение имеет достаточно смысла, чтобы вы начали.

Ameya Kalyankar avatar
флаг us
во-первых, извините, я не мог ответить на это очень скоро, я был пойман в каких-то других задачах! Теперь о вашем ответе: мы намерены купить статический IP-адрес в ближайшем будущем, поэтому в этом контексте я должен был спросить: скажем, в течение определенного периода времени, если серверное устройство имеет тот же общедоступный IP-адрес, и если я пропущу шаг динамического DNS в настройке хостинга будет работать хостинг в течение этого периода времени. **ЦЕЛЬ ВОПРОСА**: если процесс настройки работает, пропуская шаг динамического DNS, пока общедоступный IP-адрес такой же, как и при настройке, я могу просто начать с **продолжение следует...**
Ameya Kalyankar avatar
флаг us
... тогда я могу просто начать с остальных шагов. Если нет, мы сначала обязательно купим статический IP-адрес, а затем приступим к остальным шагам. @fvu
fvu avatar
флаг al
fvu
Правильно. Удачи, и не забудьте проголосовать и принять, если считаете, что мой ответ решил вашу проблему!

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

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