У меня есть приложение, развернутое на Azure VM с использованием веб-сервера Nginx. Приложение использует supervisor для настройки серверов 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-именами Azure.
На моем локальном компьютере есть:
Очистил кэш браузера. Проверил 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
и нетстат:
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, поэтому мне не нужно беспокоиться о настройке базы данных.
Есть ли еще предложения по дублированию, почему я не вижу приложение?
решение1
В конфигурации виртуальной машины пользователя отсутствовал NSG.
Группа безопасности сети (NSG) содержит список правил списка управления доступом (ACL), которые разрешают или запрещают сетевой трафик к экземплярам виртуальных машин в виртуальной сети.
NSG могут быть связаны либо с подсетями, либо с отдельными экземплярами VM в этой подсети. Когда NSG связана с подсетью, правила ACL применяются ко всем экземплярам VM в этой подсети. Кроме того, трафик к отдельной VM может быть дополнительно ограничен путем связывания NSG напрямую с этой VM.
Настройка NSG на портале Azure:
https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-pportal