Amazon-Ec2
為什麼無法使用 www 前綴訪問我的網站
我知道這是一個古老的“業餘”問題,但我認為自己需要提出這個問題,因為我真的不知道發生了什麼。
***使用 www 前綴無法訪問我的網站…***實際上它有時有效,有時無效。如果我在沒有 www 的情況下訪問該網站,那麼它會突然開始使用 www。
在“做完我的作業”之後,我按照以下步驟來解決它:
- 在我的域名服務提供商上,我添加了指向我的網站的 A 記錄和 C NAME 記錄,它看起來像這樣,我假設 GoDaddy 正在將 @ 解析為我的網址,因為我有時會訪問該網站:
- 在我的虛擬主機配置文件(在我的例子中是 httpd-vhost.conf)我有這個結構:
NameVirtualHost *:80 <VirtualHost *:80> ServerName www.example.com ServerAlias example.com DocumentRoot my_htdocs_path <Directory my_htdocs_path> Option Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
我有 4 個這樣的塊,它們都工作得很好,但最重要的一個!(墨菲定律的東西)。
這是怎麼回事?有人可以給我一個提示嗎?
其他有用資訊:
- 執行 Amazon EC2
- 我使用 Route53 作為子域名
- 過去一切正常
好的,謝謝所有寫答案的人,你們幫助我進入了正確的軌道。該問題與 GoDaddy 和 Route53 上的重複條目有關。
我最終做了以下事情:
- 在主螢幕上的 Godaddy 上,您在“啟動”域之前看到(“啟動”= 給打開設置的東西起的最糟糕的名稱,恕我直言)。然後將 NS 伺服器設置為 Route53 提供給我的伺服器,它們正好是 4,並且在下一張圖片中用黃色標記。
- 我進入了這條記錄,並將GoDaddy 中的所有記錄添加到 Route53,你應該以這樣的結尾:
- 最後,在 Godaddy 上我刪除了除 CNAME 條目之外的所有條目,我最初有 A、TXT 和 NS 條目。這樣現在只有 Route53 管理所有條目。
我能想到兩種解釋,都與 DNS 查找有關:
- 可能是您正在使用的遞歸解析器之一在您創建 CNAME 之前記憶體了否定條目。它是否有效取決於您在特定時間碰巧使用的解析器。
- 可能其中一個涉及的伺服器未正確處理與 CNAME 關聯的其他記錄。這可能意味著返回 CNAME 而沒有 A 記錄作為附加答案。但是在沒有 www 的情況下解析名稱將導致所需的 A 記錄被記憶體,只要它仍然被記憶體,它就會被包含為附加記錄。
nslookup
您可以嘗試通過或等工具解析帶有或不帶有 www 的域名dig
。嘗試使用不同的遞歸解析器,嘗試您的 ISP 提供的解析器以及一些公共解析器(8.8.8.8 和 8.8.4.4 是一個不錯的選擇)。