Apache: DocumentRoot basato su Client-IP

Non so se questo potrebbe essere ansible anche in apache, ho fatto una gran quantità di ricerche prima di venire qui. ma:

Ho un VirtualHost in esecuzione a **: 80 *, ServerName a somedomain.tld. Quello che voglio realizzare è se il client 10.2.1.4 accede a somedomain.tld, al client verrà inviato il contenuto da DocumentRoot / var / www / pages-1 /. Quindi se 10.3.0. * Accede allo stesso somedomain.tld, il client riceverà contenuti da DocumentRoot / var / www / pages-2 /. C'è un modo per raggiungere questo attualmente?

  • Posso creare automaticamente domini sub su un dominio specifico per tutti i VirtualHosts?
  • Filtrare le cattive richieste da Apache -> logger -> rsyslog a syslog-ng in un server di logging remoto ansible?
  • Host virtuale - Server non trovato
  • Apache Virtual Host con SSL
  • Distriggersre errori e registri di accesso per un host virtuale
  • Utilizzo di un Apache VirtualHost per accedere ad un'istanza JS Node sullo stesso server
  • Redirect port / port 10000 a https apache
  • Come tracciare il process Apache ad alta CPU a un particolare virtualhost
  • 2 Solutions collect form web for “Apache: DocumentRoot basato su Client-IP”

    Puoi farlo con un RewriteRule preceduto da una RewriteCond che controlla il remote_addr (ricorda di utilizzare% per il vars, non $:

    <VirtualHost *:80> Servername somedomain.tld RewriteEngine On RewriteCond %{REMOTE_ADDR} 10.2.1.4 RewriteRule ^(.*)$ /var/www/pages-1/$1 RewriteCond %{REMOTE_ADDR} 10.3.0. RewriteRule ^(.*)$ /var/www/pages-2/$1 </VirtualHost> 

    Non sarà ansible modificare la radice del documento, ma è ansible riscrivere l'URL in base al client IP, qualcosa di simile a … (non testato) …

     RewriteCond %{REMOTE_HOST} ^10\.3\.0\. RewriteRule ^/(.*) /pages-2/$1 [P,L] RewriteCond %{REMOTE_HOST} ^10\.2\.1\.4$ RewriteRule ^/(.*) /pages-1/$1 [P,L] 

    Anche se potrebbe essere più semplice utilizzare un programma di riscrittura esterno se il numero di indirizzi IP è molto grande.

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