Я пытаюсь обслуживать статический веб-сайт из экземпляра EC2 с помощью nginx. Я также использую Cloudflare в качестве CDN и DNS. Запись A указывает на общедоступный IP-адрес моего экземпляра, в то время как есть также CNAME для www, которая разрешается в домен без www.
Веб-сайт отлично работает с Chrome и curl, но я получаю сообщение об ошибке подключения в Firefox и Safari.
Это конфигурация DNS на Cloudflare: И это конфигурация моего сайта:
server {
listen 80;
server_name www.duomov.com;
client_max_body_size 100M;
root /var/www/duomov/duomov-website;
location / {
try_files $uri $uri/ =404;
}
if ($http_x_forwarded_proto = "http") {
return 301 https://$server_name$request_uri;
}
}
server {
server_name duomov.com;
return 301 https://www.duomov.com$request_uri;
}
server {
listen 443;
server_name duomov.com;
return 301 https://www.duomov.com$request_uri;
}
Это абсолютно проблема с кешем DNS. Попробуйте перезагрузить компьютер, чтобы очистить все возможные кеши DNS. Конфигурация CloudFlare не может заставить один тип браузера подключаться к IP A и IP B - этот уровень системы не осознает разницу.
С другой стороны, убедитесь, что рассматриваемый IP-адрес является эластичным IP, иначе вы в конечном итоге потеряете его, и ваш сайт не будет работать до тех пор, пока изменение конфигурации CloudFlare не распространится. В качестве альтернативы используйте точку CloudFlare в качестве CNAME для ELB, которая выходит на ваш экземпляр.