2012-11-29 16 views
23

Nel mio file conf nginx, ho:Come rendere nginx per ascoltare server_name: port

listen  80; 
    server_name $hostname; 

se faccio netstat vedo che è in ascolto sulla 0.0.0.0:80

quello che voglio succedere, è il nginx per ascoltare $ hostname: 80, c'è un modo per configurarlo per farlo?

Ho provato diverse impostazioni senza successo fino ad ora. Apprezzo il tuo aiuto.

risposta

36

Il server_namedocs direttiva viene utilizzata per identificare gli host virtuali, non vengono utilizzati per impostare l'associazione.

netstat indica che nginx è in ascolto su 0.0.0.0:80 che significa che accetterà connessioni da qualsiasi IP.

Se si desidera cambiare il nginx IP si lega a, è necessario modificare la regola listendocs.
Quindi, se si desidera impostare nginx di legarsi a localhost, devi cambiare quello a:

listen 127.0.0.1:80 

In questo modo, le richieste che non vengono da localhost vengono eliminati (non hanno nemmeno colpito nginx).

+0

Vorrei chiedere quale motivo potrebbe essere dare a localhost come ascolto ip, cioè non vogliamo che le richieste vengano ricevute dal mondo di output? – ransh

+0

Sì, questa è la ragione. Per lo sviluppo locale questo è solitamente il caso. Su un server remoto si potrebbe fare qualcosa del genere per evitare che la parola "esterno" acceda al sito, limitando l'accesso solo a coloro che hanno accesso SSH al server, per esempio. –

Problemi correlati