Назад | Перейти на главную страницу

Тайм-аут отладки DNS для приложения Nginx, развернутого на виртуальной машине Azure

У меня есть приложение, развернутое на виртуальной машине Azure с использованием веб-сервера Nginx. Приложение использует супервизор для настройки серверов Nginx и gunicorn. Я проверил все файлы конфигурации и журналов, и все вроде работает нормально. Однако, когда я указываю браузером на веб-сайте, время ожидания браузера для www.mydomain.com истекает, а для mydomain.com возвращается:

This site can’t be reached
mydomain.com’s server DNS address could not be found.

В Azure я настроил зону DNS, содержащую:

Name: @ TYPE: NS TTL: 120 VALUE: relevant azure name servers.
Name: www TYPE: CAME TTL 60 mydomain.com

В регистраторе доменов я установил DNS-имена в соответствии с лазурными DNS-именами.

На моем локальном компьютере у меня есть:

Сбросил кеш в браузере. проверил nslookup www.mydomain.com

Server:         127.0.1.1
Address:        127.0.1.1#53

Non-authoritative answer:
Name: www.mydomain.com
Address: xxx.xxx.xx.xx

попробовал traceroute, адреса xxx.msn.net были расположены без каких-либо [закрытых], поэтому я предполагаю, что сервер был найден.

пытался:

host -t A www.mydomain.com
>>www.mydomian.com is an alias for mydomain.themsazureaddress.com
>>mydomain.themsazureaddress.com has address xxx.xxx.xx.xx

На веб-сервере у меня есть:

попробовал netcat:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:http                  *:*                     LISTEN     
tcp        0      0 *:ssh                   *:*                     LISTEN     
tcp        0      0 *:https                 *:*                     LISTEN     
tcp        0      0 localhost:8000          *:*                     LISTEN     
tcp        0      0 localhost:6379          *:*                     LISTEN 

и netstat:

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      62133/nginx     
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      62133/nginx

проверил конфиг nginx:

upstream app_server_wsgiapp {  
     server localhost:8000 fail_timeout=0;
}

server {  
 listen 80;
 server_name myapp.com; 
 rewrite ^(.*) https://$server_name$1 permanent;
}

server {  
  server_name           myapp.com;
  listen                443 ssl;

Проверил логи ошибок и доступа nginx:

журналы доступа пусты, журнал ошибок содержит только:

epoll add event: fd:11 op:1 ev:00000001

Я также проверил процессы, и supervisor, gunicorn, redis, celery работают нормально. Я просто использую sqlite, поэтому мне не нужно беспокоиться о настройке базы данных.

Есть ли другие предложения по дублированию, почему я не вижу приложение?

В пользовательской конфигурации виртуальной машины отсутствовала сеть безопасности сети.

Группа безопасности сети (NSG) содержит список правил списка управления доступом (ACL), которые разрешают или запрещают сетевой трафик для ваших экземпляров виртуальных машин в виртуальной сети.

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

Настройка групп безопасности сети на портале Azure:

https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal