SMsoft – informatica e dintorni

Apache/nft: Come mostrare due contenuti web differenti in base all’IP sorgente

Ultimamente mi è stato chiesto di impostare apache per mostrare il contenuto di due diverse cartelle in base all’IP sorgente.

Avrei potuto usare una regola di rewrite, ma serviva qualcosa per simulare completamente il funzionamento di un sito di preproduzione, prima di andare effettivamente in produzione.

La cosa più semplice? Configurare ed attivare un nuovo virtualhost su una differente porta e poi creare delle regole di nat/routing per smistare il traffico da un determinato IP verso il nuovo virtual host.

Ma veniamo alla pratica.

Il nuovo virtualhost sarà configurato allo stesso modo del primo, tranne che risponderà su una differente porta (es la 442) e con una differente DocumentRoot, es:

Inoltre, nel file /etc/apache2/ports.conf dovremo informare apache di mettersi in ascolto anche sulla nuova porta, aggiungendo la direttiva Listen:
Listen 442

Attiviamo il virtualhost e riavviamo apache:

A questo punto, basterà configurare il nostro /etc/nftables.conf per gestire il routing dei pacchetti arrivati dall’IP/porta indicati. In particolare dovrà essere aggiunta questa sezione:

Ovviamente XX.XX.XX.XX sarà l’IP a cui vogliamo far vedere il contenuto del nuovo virtualhost.

Infine, nella chain input dovrà essere abilitata anche la nuova porta, es:

Ricarichiamo le regole di nftables:

Ora se dall’IP XX.XX.XX.XX richiameremo www.nomedominio.it, vedremo il contenuto della cartella /var/www/sito.new

enjoy!




Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario :-)
*
Taggato su: , ,

Commenti

Page optimized by WP Minify WordPress Plugin