Рейтинг:0

dig +trace: серверы для моего домена недоступны?

флаг cn

Я создаю свое приложение в AWS.

Я развернул свой интерфейсный проект Reactjs в экземпляре EC2. Вместо того, чтобы пользователи из внешнего интернет-мира посещали мой экземпляр EC2 напрямую, я хочу разместить его за шлюзом AWS API. Таким образом, AWS API Gateway будет единственной точкой входа во внешние и внутренние службы моего приложения. Это план, чтобы пойти с:

внешний мир ---> Шлюз API AWS ---> Балансировщик сетевой нагрузки ---> Моя целевая группа VPC / Экземпляры EC2

Вот что я сделал:

  1. Проект Reactjs Frontend хорошо работает в экземпляре EC2; Я могу посетить веб-страницу с общедоступным IP-адресом экземпляра EC2.

  2. Хорошо настроенная целевая группа и балансировщик сетевой нагрузки. Я подтвердил, введя DNS-имя NLB в браузере, т.е. http://myapp-frontend-NLB-c11112esd43524rw.elb.ap-northeast-1.amazonaws.com, и он успешно загружает/открывает веб-страницу внешнего интерфейса моего приложения.

  3. Я создал новый шлюз AWS API (REST API) и настроил для него собственное доменное имя (с сертификатом https, который позаботился в диспетчере сертификатов AWS).

    т. е. пользовательский домен frontend.myapp.com; доменное имя шлюза API d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com

    И я создал новый NS запись в моем DNS провайдера для них, так что frontend.myapp.com указывает на d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com

  4. Я следил за этим документом aws: https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-with-private-integration.html шаг за шагом и настроил ссылку VPC, ресурсы API, тип интеграции и т. д.

После развертывания созданного API, когда я открываю URL-адрес вызова (в виде https://123qwe123qe.execute-api.ap-northeast-1.amazonaws.com/[стадия]), я вижу возвращенный HTML-код.


Я ожидал, что когда я приеду frontend.myapp.com в браузере DNS в конечном итоге направит трафик на доменное имя шлюза API d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com, и шлюз API передаст запрос в NLB и т. д., и в конечном итоге загрузит веб-страницу или вернет тот же HTML-код.

Однако, когда я посещаю frontend.myapp.com в браузере нет ответа. Я думал, что запись DNS не работает. копать + трассировка docloud.iwg-inc.co.jp. дает следующий результат:


; <<>> DiG 9.10.6 <<>> +trace frontend.myapp.com.
;; глобальные параметры: +cmd
. 3240 В NS i.root-servers.net.
. 3240 В NS d.root-servers.net.
. 3240 IN NS b.root-servers.net.
. 3240 IN NS m.root-servers.net.
. 3240 IN NS j.root-servers.net.
. 3240 IN NS h.root-servers.net.
. 3240 IN NS f.root-servers.net.
. 3240 В NS g.root-servers.net.
. 3240 IN NS k.root-servers.net.
. 3240 В NS c.root-servers.net.
. 3240 В NS a.root-servers.net.
. 3240 IN NS l.root-servers.net.
. 3240 IN NS e.root-servers.net.
;; Получено 811 байт от 240d:1a:6a5:c900:e67e:66ff:fe1f:bf4c#53(240d:1a:6a5:c900:e67e:66ff:fe1f:bf4c) за 29 мс

 
 ...другие результаты...

frontend.myapp.com. 14400 IN NS d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com.
;; Получено 117 байт от 54.68.111.244#53(ns4.jp-domains.jp) за 131 мс

;; время соединения истекло; нет доступа к серверам

Как вы видете, frontend.myapp.com. действительно указывает на d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com. как NS записывать.

Тем не менее, он говорит время соединения истекло; нет доступа к серверам.

d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com. — это собственное доменное имя моего шлюза API, которое я протестировал с помощью URL-адреса вызова, и оно подключено к службам.

почему бы это сказать нет доступа к серверам ?

Что это значит? Как я могу решить это и завершить поток?

Рейтинг:2
флаг jp

Вам необходимо создать запись CNAME, указывающую на шлюз AWS API. d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com., а не NS-запись.

Рейтинг:2
флаг cn
Bob
frontend.myapp.com. 14400 IN NS d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com.

NS тип записи для серверов имен.

Эта текущая запись, по сути, говорит: если вы хотите узнать что-либо, связанное с DNS о frontend.myapp.com субдомен или о любой записи ниже этого субдомена, запросите сервер имен, работающий на d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com

А d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com вообще не является сервером имен, поэтому на отправленные туда DNS-запросы ответа не будет.
Это время соединения истекло; нет доступа к серверам ошибка, которую вы видите.

я считать что вы намеревались настроить DNS CNAME запись, которая в основном говорит, если вы хотите получить доступ к frontend.myapp.com. используйте IP-адрес d-123sdf1234asd.execute-api.ap-northeast-1.amazonaws.com.

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

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