你們看到的實際上不是與名稱解析。
DNS無法更改Web瀏覽器地址欄中顯示的內容 - DNS和Web瀏覽器根本不會以使這種行爲成爲可能的方式進行交互。您的網址無法通過與DNS相關的任何內容「解析爲」這個新值,因爲正確或錯誤配置的DNS不會影響其自身顯示的內容。
導航到IP地址具有相同影響的事實支持了這一斷言。
你所看到的與DNS或Route 53甚至EC2或VPC無關。無論出於何種原因,您的Web服務器都被配置爲將傳入的請求與任何其他主機名重定向到您隨後在地址欄中看到的主機名(這是您不喜歡的名稱)。
您應該在您的Web服務器日誌中注意到這一點。它將在初始請求中發出301或302重定向。
您還應該能夠使用curl
命令行實用程序自行驗證。在這裏,訪問爲「www.example.com」的服務器將重定向瀏覽器以使用其首選地址「example.com」。 (主機名和地址被消毒,但輸出是否則未修飾。)
$ curl -v www.example.com
* Rebuilt URL to: www.example.com/
* Hostname was NOT found in DNS cache
* Trying 203.0.113.139...
* Connected to www.example.com (203.0.113.139) port 80 (#0)
輸出的下一個塊是發送到web服務器的請求。
> GET/HTTP/1.1
> User-Agent: curl/7.35.0
> Host: www.example.com
> Accept: */*
>
來自Web服務器的http響應包含重定向。
< HTTP/1.1 301 Moved Permanently
< Content-length: 0
< Location: http://example.com/
< Connection: close
<
* Closing connection 0
如果我們使用的瀏覽器,而不是一個命令行工具,這會導致地址欄更改爲新值,並建立到Web服務器的新連接(這實際上可能是同一個,或者不同的......在這種情況下,它是一樣的)。
儘管我在我的瀏覽器中輸入了http://www.example.com
,但它現在只會顯示http://example.com/
。如果我輸入IP地址,如果我的服務器配置爲將所有內容重定向到一個主機名,那麼情況也會發生同樣的情況。就我而言,它是故意配置做別的。
上面應該說明你實際上沒有DNS問題,並解釋導致這種情況發生的機制(因爲你可能會發現這是有用的,將來有意做,因爲我的Web服務器 - - 任何www。*請求都會被剝離並在沒有www的情況下被重寫)。
問題出在您的Web服務器上,告訴瀏覽器使用不同的主機名。如何解決這個問題將取決於你運行的Web服務器以及它認爲重定向是必要的。
你是什麼意思「正在解決?」你是說在瀏覽器中的地址欄從所需的地址變成通用的嗎?還是其他的東西? –
如果我將xyz.co輸入到地址欄中,它會在顯示頁面內容時變成ec2-11-22-33-44.ap-southeast-2.compute.amazonaws.com。如果我直接輸入IP地址,情況同樣適用。我希望它堅持xyz.co。 –