Apache può essere configurato per esaminare richieste provenienti da determinate porte e da determinate interfacce di rete.
Di default apache si poggia su tutte le interfacce di rete sulla porta 80, grazie alla direttiva Listen però è possibile specificare una singola porta, o più d’una:
Listen 80
Listen 8080
In questo caso apache risponderà a tutte le richieste provenienti da tutte le interfacce di rete sia sulla porta 80 che sulla porta 8000.
E’ possibile vincolare porte diverse su interfacce diverse:
Listen 192.168.1.30:80
Listen 192.168.1.32:8080
Queste caratteristiche possono poi essere gestite in modo ottimale direttamente dai VirtualHost, permettendo per esempio ad uno di essi di rispondere su uno specifico indirizzo e porta.
Un VirtualHost può solo utilizzare una delle interfacce o porte associate al file di configurazione generale, non è possibile creare un virtual host che si ponga in ascolto su un indirizzo o una porta non contemplati dal file di configurazione generale.
Durante l’installazione standard di apache su Ubuntu, il servizio viene messo in ascolto sulle porte 80 e 443 (https), in particolare quest’ultima viene resa disponibile solo se esiste ed è abilitato il modulo mod_ssl. Per maggiori dettagli vedere il file ports.conf presente nella root di configurazione di apache2.
Una ottimo esempio di binding è presente su uno dei nostri server. In questo caso apache ascolta su tre interfacce:
-
lo
-
eth0
-
eth1
E su due porte:
-
80
-
443
Alcuni virtual host sono configurati per ascoltare su tutte le interfacce ma solo sulla porta 80:
-
<VirtualHost *:80>,
altri su una solo interfaccia sulla porta 80
-
<VitualHost 192.168.1.45:80>
altri su tutte le interfacce ma verso la porta 443
-
<VirtualHost *:443>









