安裝apache後無法訪問localhost但可以訪問127.0.0.1的解決方法

localhost與127.0.0.1的概念和工作原理之不同

概念:

  • localhost:也叫local ,正確的解釋是:本地服務器
  • 127.0.0.1:在windows等系統的正確解釋是:本機地址(本機服務器)

工作原理:

  • localhot:是不經網卡傳輸的,它不受網絡防火牆和網卡相關的的限制。
  • 127.0.0.1:是通過網卡傳輸的,它依賴網卡,並受到網絡防火牆和網卡相關的限制。

 

文中開頭提到的localhost不能訪問但127.0.0.1可以訪問的問題,究其原因,很可能是localhost訪問時,系統帶的本機當前用戶的權限去訪問,而用ip的時候,等於本機是通過網絡再去訪問本機,可能涉及到網絡用戶的權限。

另外,我們現在也應該明白了一個道理,那就是一般設置程序時本地服務用localhost是最好的,localhost不會解析成IP,也不會佔用網卡、網絡資源。

 

 

出現的問題:

一般情況下ping localhost 應該爲127.0.0.1 ,但是有時會出來下面這個東西:

  • >ping localhost
  • reply from ::1: times<1ms
  • reply from ::1: times<1ms
  • reply from ::1: times<1ms

地址根本不是“127.0.0.1”,而是“::1:”

  • >ping 127.0.0.1 正常
  • reply from 127.0.0.1 : bytes=32 times<1ms
  • reply from 127.0.0.1 : bytes=32 times<1ms
  • reply from 127.0.0.1 : bytes=32 times<1ms

 

 

解決方案一:

修改host文件用記事本打開C:/WINDOWS/system32/drivers/etc/hosts文件,看裏面是否有包含:127.0.0.1 localhost

如果沒有則將其添加進去,host文件部分內容:

# 127.0.0.1 localhost

# ::1 localhost

127.0.0.1localhost

localhost 127.0.0.1

這時候ping localhost可以了,但還是無法打開localhost

解決方案二:

可能是有些程序修改了Winsock,命令行窗口使用 netsh winsock reset 命令修復 Winsock 後重啓計算機即可。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章