该网站仅可通过 Chrome 和 curl 访问

该网站仅可通过 Chrome 和 curl 访问

我正在尝试使用 nginx 从 EC2 实例提供静态网站。我还使用 Cloudflare 作为 CDN 和 DNS。A 记录指向我的实例的公共 IP,同时还有一个 www 的 CNAME,可解析为非 www 域。

该网站在 Chrome 和 curl 上运行良好,但在 Firefox 和 Safari 上出现连接错误。

这是 Cloudflare 上的 DNS 配置: 在此处输入图片描述 这是我的网站配置:

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;
}

答案1

这绝对是 DNS 缓存问题。尝试重新启动机器以确保所有可能的 DNS 缓存都已刷新。CloudFlare 配置不能导致一种浏览器类型连接到 IP A 而不是 IP B——系统的该层不知道其中的区别。

另外,请确保相关 IP 是弹性 IP,否则您最终会失去它,并且您的网站将处于关闭状态,直到 CloudFlare 配置更改可以传播为止。或者,让 CloudFlare 作为 CNAME 指向您实例前端的 ELB。

相关内容