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

Сайт доступен только через Chrome и curl

Я пытаюсь обслуживать статический веб-сайт из экземпляра 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, которая выходит на ваш экземпляр.