今天在對tomcat的host容器(即虛擬主機的配置)進行配置時,發現即使修改了host name的值(默認為localhost),但是仍無法訪問web項目的問題(提示域名解析出錯)。只能使用默認的值local host進行訪問。
如上圖,即使將host修改為ui,但仍只能通過locahost訪問
無法通過ui進行訪問
后來發現還要修改window下的hosts文件進行ip地址到域名的映射,才能訪問。
具體方法是在hosts文件中增加一行(127.0.01->ui)的映射。
hosts具體的文件地址在C:\Windows\System32\drivers\etc文件夾下,並且需要使用管理員身份打開。
最后解釋一下原理吧。無論是localhost還是自己配置的host虛擬主機名(如我自己配置的ui),在瀏覽器看來都是一個域名,那么域名都是需要進行DNS解析的。但是我們自己配置的域名在DNS服務器是沒有的,因為我們沒有注冊,因此雖然我們在tomcat中進行了配置,但在網絡上是沒有我們的域名的。我們需要在本地進行配置,而hosts文件正是起到了這樣的作用。當用戶在瀏覽器中輸入一個URL地址時,系統會首先自動從Hosts文件中尋找對應的域名映射的IP地址,一旦找到,瀏覽器會立即向該ip地址發送http請求報文。如果沒有找到,則瀏覽器會向本地DNS服務器請求IP地址解析(如果本地DNS服務器無法解析,則會向根DNS服務器請求.....具體的DNS解析就不多說了總之DNS解析是一個遞歸的過程)。如果我們在本地沒有對hosts進行配置,當然網絡上也不會有我們的域名,於是瀏覽器只能提示域名解析錯誤了。當我們在本地進行配置后,瀏覽器就可以訪問啦!只不過瀏覽器會在地址欄提示域名重定向。
在本地配置hosts的方式也是提高快速打開網頁的方法!