Come funziona / etc / hosts o / private / etc / hosts funziona su 10.11?

1

Ho provato a mettere alla prova la mia conoscenza di cosa sia /etc/hosts ma non riesco ad arrivare da nessuna parte. Dalla comprensione del punto di /etc/hosts è possibile arrotondare i nomi degli host agli indirizzi IP. Quindi se metti il seguente nel tuo file /etc/hosts :

127.0.0.1:3000 foo

quindi un curl foo dovrebbe inviare una richiesta GET all'host locale sulla porta 3000. Tuttavia c'è una ruga, perché in modo non operativo su OSX 10.11.6 non usa /etc/hosts invece usa /private/etc/hosts , quindi quindi aggiungere la riga sopra a quel file dovrebbe funzionare. Ma non è perché c'è un'ulteriore ruga, devi resettare la cache DNS, che in base a questo site può essere eseguito con il seguente comando: sudo killall -HUP mDNSResponder . Mi sto perdendo qualcosa qui?

Quando arricciano localhost: 3000 ottengo il blog di rotaie ciao mondo (perché ho i binari predefiniti ciao blog mondiale in esecuzione)

➜ curl localhost:3000
.
.
.
<strong>Rails version:</strong> 5.0.0.1<br />
<strong>Ruby version:</strong> 2.3.1 (x86_64-darwin15)
</p>
</section>
</div>
</body>
</html>
➜

tuttavia, quando provo ad arricciare il nome di dominio personalizzato, non funziona:

➜ sudo vim /private/etc/hosts
➜ sudo killall -HUP mDNSResponder
➜ cat /private/etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
127.0.0.1:3000 foo
255.255.255.255 broadcasthost
::1             localhost
➜ curl foo
curl: (6) Could not resolve host: foo

Che cosa sto facendo male qui?

Grazie:)

    
posta mbigras 21.09.2016 - 23:42
fonte

1 risposta

2

Il file /etc/hosts sui sistemi UNIX è per la risoluzione DNS locale.

In quanto tale, non tiene conto delle porte: collega i nomi host con indirizzi IP, come il Domain Name Service.

Aggiunta della seguente riga:

127.0.0.1 foo

nel tuo file /etc/hosts indica al risponditore DNS interno di inviare richieste per foo a 127.0.0.1 .

Ti permetterà di fare quanto segue:

# curl foo:3000

    
risposta data 21.09.2016 - 23:49
fonte

Leggi altre domande sui tag