綁定hosts

什麼叫綁定hosts
用記事本打開hosts文件,首先看見了微軟對這個文件的說明。這個文件是根據TCP/IP for Windows 的標準來工作的,它的作用是包含IP地址和Host name(主機名)的映射關係,是一個映射IP地址和Host name(主機名)的規定,規定要求每段只能包括一個映射關係,IP地址要放在每段的最前面,空格後再寫上映射的Host name(主機名)。對於這段的映射說明用“#”分割後用文字說明。

測試過程中需綁定hosts。將測試環境IP綁定域名,輸入域名即可連接到測試環境。
1 hosts文件地址:C:\WINDOWS\system32\drivers\etc
2 用記事本打開hosts。
在最下面一行加上:測試ip 域名 #註釋。保存。

爲了方便用戶記憶,我們將IP變成一個個的域名來輸入到瀏覽器進行訪問。而這使得訪問網站時要先將其域名解析成 IP 。
DNS (Domain Name Server) 的作用就是進行 IP 解析,把域名對應到 IP。

在 Great FireWall 的 5 種封鎖方法中,有一種簡單而效果很好的方法是 DNS 污染。GFW 會對 DNS 的解析過程進行干擾,這會使對某些被幹擾的域名返回一個錯誤的 IP 地址給你的主機,使你無法正確連接到你要的服務器上讀取正確的信息。

Hosts 文件本來是用來提高解析效率。在進行 DNS 請求以前,系統會先檢查自己的 Hosts 文件中是否有這個地址映射關係,如果有則調用這個 IP 地址映射,如果沒有再向已知的 DNS 服務器提出域名解析。也就是說 Hosts 的請求級別比 DNS 高。當你的 Hosts 文件裏面有對應的 IP 時,它就會直接訪問那個 IP,而不用通過 DNS。
所以,當我們直接將 Google、Twitter、Facebook 之類的 IP 放入 Hosts 文件後,就可以跳過 DNS 的解析這一步,直接就行 IP 訪問,不受 GFW 的 DNS 污染干擾了

工作實際測試中
灰度中所有的數據都是線上的數據。。。就是和線上數據是一致的。測灰度要線上的賬號才行。
php(web服務端)、前端(js、html、css)都有灰度環境,但是C++(後臺服務)沒有

綁定灰度不生效解決辦法
1、雙系統的機器:
設置hosts後不生效的原因主要是:設置的hosts不是當前操作系統的hosts,比如當前系統裝在D盤,而修改hosts修改在了C盤的。查看當前系統安裝在哪個盤的最簡單方法就是開一個cmd命令行,其初始的提示符路徑的磁盤就是當前系統盤:如C:\Documents and Settings\sina>, 那麼C盤就是當前系統盤。或者用set命令查看系統的環境變量。

2、由於本地DNS的緩衝:
因爲hosts是一個本地的dns解析服務,所以在本地有一個專門的dns client服務在後臺運行,而這個服務會有一個緩存機制,所以有時可能不能及時生效。這是可以通過刷新dns緩存或手動重啓dns client服務來解決。刷新命令爲:ipconfig /flushdns。 手動重啓dns client 服務器的方法爲:cmd–》services.msc–》找到dns cilent 服務-》停止–》重啓

3、由於文本格式原因導致格式不正確:
hosts文件中是有一定格式的,即單行一個dns的ip地址映射,可以一個ip對應多個域名,每行的ip和域名之間至少有一個空格或TAB鍵。通常我們直接輸入都是正確的,而當我們複製粘貼進來的文本時,有時會不生效。這就是因爲換行符的問題導致的,因爲你從其它終端複製過來的內容換行格式可能與windows的換行符不一樣,那這樣就不會生效了。
解決辦法:自己手動填寫,或通過文本編輯器進行自動轉換。如:editplus

  1. hosts文件必須是ascii編碼方式, 如果保存爲unicode格式將不會被正確讀取,所以,打開host,選擇“另存爲”確認保存格式是否是ascii。
  2. 打開了程序後修改hosts,大部分程序不會實時更新hosts,重啓程序即可更新,例如啓動瀏覽器,系統將hosts拷貝了一份到內存中,瀏覽器使用內存中的hosts,這時候不會讀取修改過的硬盤上的hosts,這種情況我們只需關閉瀏覽器使系統釋放內存中的hosts,然後再重啓瀏覽器重新讀取即可。
  3. hosts文件沒有擴展名,hosts文件本身是沒有文件擴展名的,如果不小心被加上了如txt等的文件擴展名,就會失效。
  4. 確認hosts設置:打開本地連接的 Internet(TCP/IP)協議的屬性頁,點擊常規選項卡中的高級按鈕,選擇WINS選項卡,勾選“啓用 LMHOSTS 查詢”,接着按下“導入 LMHOSTS”按鈕,導入C:/WINDOWS/system32/drivers/etc下的hosts文件,hosts文件生效。
  5. 使用ipconfig /flushdns命令刷新dns緩存。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章