Qual è la differenza tra *: 80 e _default_: 80 in Apache2?


8

Sto cercando di capire la differenza tra i seguenti due termini:

*:80
_default_:80

nel file di configurazione di Apache. La documentazione qui non è chiara per me, e l'unica conversazione di mailing list che ho potuto trovare qui non fa luce (comprensibile, per me) neanche sulla questione.

Ho un sacco di host virtuali basati sul nome dichiarati in questo modo:

<VirtualHost *:80>
    ServerName example.com
    ...

e mi piacerebbe avere una voce che si attiva quando nessuna di queste corrisponde, cioè quando arriva una richiesta senza un nome host virtuale o con un nome host virtuale che non è stato dichiarato. Dovrei usare *:80o _default_:80?


Su apache puoi avere un sito Web su un singolo numero IP oppure puoi avere un altro modello, puoi ospitare più siti Web ciascuno sullo stesso numero IP e dominio diverso configurato come VirtualHost e in ascolto sulla stessa porta 80.
Andrew Smith

Risposte:


9

Penso che _default_sia usato per definire un vhost predefinito in una configurazione host virtuale basata su IP. Stai utilizzando l'hosting virtuale basato sul nome, quindi questa affermazione nella documentazione

Un vhost predefinito non serve mai una richiesta che è stata inviata a un indirizzo / porta utilizzato per vhosts basati sul nome.

diventa rilevante.

In una configurazione di host virtuale basata sul nome, il primo vhost definito è il vhost predefinito e verrà servito se non viene trovata un'altra corrispondenza in modo da poter fare qualcosa di semplice come

<VirtualHost *:80>
    ServerName default
    DocumentRoot /var/www/default
</VirtualHost>

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com
</VirtualHost>

<VirtualHost *:80>
    ServerName sub.example.com
    DocumentRoot /var/www/sub.example.com
</VirtualHost>

Farebbe quello che vuoi e servirebbe tutto, tranne example.com e sub.example.com per impostazione predefinita.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.