2013-05-05 81 views
5

在8080端口上有一個nginx服務器偵聽,telnet與localhost和127.0.0.1。一個連接,一個連接失敗,否則。'localhost'和'127.0.0.1'有什麼區別?

[[email protected] sbin]$ telnet localhost 8080   
Trying ::1... 
telnet: connect to address ::1: Connection refused 

[[email protected] sbin]$ telnet 127.0.0.1 8080 
Trying 127.0.0.1... 
Connected to 127.0.0.1. 
Escape character is '^]'. 

'localhost'和'127.0.0.1'有什麼區別?爲什麼localhost連接失敗?謝謝!

回答

5

127.0.0.1是本地機器的IPv4地址。

localhost是查找本地計算機的地址的名稱。在你的情況下,它首先查找IPv6地址(:: 1)並嘗試連接到該地址。如果您的服務僅監聽IPv4,則它將無法連接。

0

似乎localhost綁定到ipv6,並且您沒有偵聽:: 1 ipv6 IP。

0

Localhost是ip地址的命名地址127.0.0.1 這是不可能記住ip地址,這就是爲什麼計算機使用DNS的原因是域名系統(DNS)。它將命名轉換爲IP地址以及相反。 一個經常用來解釋域名系統的類比是它通過將人性化的計算機主機名轉換爲IP地址來充當互聯網的電話簿。例如,域名www.example.com轉換爲地址93.184.216.119(IPv4)和2606:2800:220:6d:26bf:1447:1097:aa7(IPv6)。