Domain-Name-System

網站只能通過 Chrome 和 curl 訪問

  • June 12, 2017

我正在嘗試使用 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;
}

這絕對是 DNS 記憶體問題。嘗試重新啟動電腦以確保刷新所有可能的 DNS 記憶體。CloudFlare 配置不能導致一種瀏覽器類型連接到 IP A 和 IP B - 系統的該層不知道差異。

附帶說明一下,確保有問題的 IP 是彈性 IP,否則您最終會失去它,並且您的站點將關閉,直到 CloudFlare 配置更改可以傳播。或者,將 CloudFlare 作為 CNAME 指向您的實例前面的 ELB。

引用自:https://serverfault.com/questions/855015