Imposta la pagina predefinita per Apache Virtual Hosts

Stiamo eseguendo Apache su un server con più voci VirtualHost . Ogni volta che qualcuno accede al server tramite l'indirizzo IP ( http://198.147.xx.xx ), viene visualizzato uno dei siti web che è un VirtualHost . Questo non è desiderato. Preferiremmo trovare una pagina vuota se si accede direttamente all'IP. Non sono sicuro se il sito scelto è solo il primo che viene nell'elenco delle voci Host Host o cosa.

Vogliamo impostare una pagina vuota, se qualcuno accede al server per IP. Ho pensato che semplicemente impostando un'altra voce di VirtualHost per l'indirizzo IP lo farebbe, e sembrava che, ma ora accedere a qualsiasi altro sito VirtualHost port alla stessa pagina vuota, standard. Ecco un esempio della nostra configuration:

  • Utilizzare il ServerName come una variabile nel file httpd.conf
  • .htaccess riscrivere http a https risultati in loop
  • Trova le pagine che causano il carico?
  • Un VirtualHost per alcuni URL, un altro VirtualHost per tutti gli altri URL di Apache
  • Apache: utilizzo della direttiva Alias ​​con FastCGI Mod
  • Riceve solo un documento alla volta da un nuovo server web
  •  <VirtualHost *:80> DocumentRoot /vhosts/somesite.com/public ServerName somesite.com <Directory "/vhosts/somesite.com/public"> allow from all Options +Indexes AllowOverride All </Directory> ServerAlias www.somesite.com </VirtualHost> <VirtualHost 198.147.XX.XX:80> DocumentRoot /vhosts/default/public <Directory /vhosts/default/public> allow from all Options +Indexes </Directory> </VirtualHost> 

    Cosa facciamo male qui? C'è un modo migliore per impostare una pagina di destinazione predefinita per chiunque acceda al server tramite l'indirizzo IP?

  • Apache di binding all'indirizzo IP specifico
  • Come posso testare la connettività UDP Multicast tra due server?
  • La variabile HTTPS server / php non è disponibile
  • Come distriggersre SSLCompression in Apache 2.2.12 su Amazon EC2?
  • Quanti domini su un singolo server Apache?
  • Come ottengo ubuntu per riconfigurare / etc / network / interfaces per me?
  • One Solution collect form web for “Imposta la pagina predefinita per Apache Virtual Hosts”

    Se ricordo bene, il comportmento per gli host virtuali funziona così:

    • httpd cerca la vhost con i qualificatori più specifici. (indirizzo IP o l'intestazione host se NameVirtualHost è stato dichiarato)
    • In assenza di una voce specifica, viene utilizzato il primo host virtuale da definire. Questo viene definito l' host virtuale predefinito e quello che viene normalmente visualizzato quando viene eseguita una richiesta senza un'intestazione Host . (cioè per indirizzo IP)

    Il problema in cui si sta eseguendo ora è che il tuo host virtuale basato su IP è più specifico del tuo host virtuale predefinito (alless quando l'intestazione Host non corrisponde a ServerName o ServerAlias ). Per get il comportmento che stai cercando, penso che dovresti farlo:

    • Crea un virtualhost predefinito di *: 80 con una pagina vuota.
    • Regola il tuo virtualhost somesite.com modo che il suo ServerAlias contenga tutti i nomi che non si desidera che colpiti l'host virtuale predefinito.

    Speriamo che qualcuno ha una soluzione che si avvicina al raggiungimento del risultato finale desiderato; è stato un po 'e sarei interessato ad imparare da esso.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.