Cerca nel Blog con Google

MONITORE NAPOLETANO

lunedì, novembre 14, 2016

Domini - Apache2 - Creare una pagina di cortesia e redirect con 1 VirtualHost

Abbiamo analizzato nei post precedenti riguardanti il THE MATRIX MACHINE Project molti aspetti dei virtual host per creare dei siti ad accesso del dominio.

Spesso capita, però, che alcuni domini (come per apple.co o microsoft.cloud) possano essere semplicemente dei brand protector (famoso il caso giudiziario di mikerowesoft.com con Microsoft, clicca qui) quindi non necessariamente usati per definire siti ad hoc.






Possiamo sobbarcare un server con la gestione di diversi siti che fanno redirect semplice o al più una singola pagina di cortesia?

Dipende, ma in linea di massima, se non abbiamo tanti indirizzi IP e tante macchine da poter usare adeguatamente, diventa complesso.

Allora perché spendere di più quando con poche righe di codice ed 1 virtual host non possiamo gestire 40 - 100 e più domini?

Il primo luogo, come descritto nel post Gestione DNS - Come configurare i DNS di un dominio e del Rotuer dobbiamo far convergere tutti i domini in nostro possesso (usando ad esempio CName) verso il nostro server

Fatto questo ora dobbiamo attivare il virtualhost di default come quello riportato di seguito




Questo Host Virtuale non avendo definito il nome (tipo dicecca.cloud) si fa carico di visualizzare una pagina (il famoso It Works del primo post sui Virtual Server) uguale per tutti i siti da cui riceve richiesta.

A questo punto ci vuole un po' di PHP per risolvere il tutto con solo file e senza database.

Vediamo il seguente codice php del file inex.php che andiamo a mettere nella cartella di default

   
    /*******************************************************************
     *
     * Sistema multi switcher per domini senza registrazione host su
     * Apache 2
     *
     * (C) 2016 - today - dicecca.net - Editorial Video Lab.
     *
     * www.dicecca.net
     *
     * dEC System III
     *
     * beta 1
     *
     *******************************************************************/

     /*
     * Controlla il dominio e reindirizza al file che reindirizza al
     * sito desiderato
     * Questo sistema non appesantisce la macchina server che legge il
     * dominio e lo carica il file di redirect.
     * Per tutti gli altri domini carica la pagina di default.
     */

   
    // Memorizza il nome dell'host (ovvero del dominio) chiamato
    $host=$_SERVER["HTTP_HOST"];
   
   
    // Switch degli host
    // Se trova i domini che sono elencati, esegui qualche cosa
    switch ($host) {
   
        //
        // Case domini propri dicecca.net
        //
       
        case "www.dicecca.cloud":
                include_once "diceccacloud.html"; // Carica la pagina di redirect dedicata
            break;


        // altra lista di domini simile a quella del case di sopra
        //...
        //...
        //...
               
        //
        // Caso di default, se non fa parte della lista, carica la pagina di cortesia
        //
        default:
                include_once "courtesy.php"; // Carica la pagina di cortesia standard
       
    }// Chiude switch

?>



$host legge il nome del dominio che fa richiesta della pagina di default (arriva per secondo, dopo che Apache2 ha visto che non fa parte dei domini disponibili dei virtual host) e passa allo switch/case (che ha costo computazionale basso e di scritturra più semplice di if-then-else)

Se nella barra del browser scriviamo www.dicecca.cloud, il sistema caricherà il codice presente nel file diceccacloud.html (nella root del virtual host default) e lo lancerà in automatico:

Pagjna caricata da dicecca.cloud


quindi si può facilmente creare anche un redirect più o meno intelligente

Nel caso scrivessimo 11811.eu (Metropolis docet...), non essendo un dominio presente nella lista, si attiverebbe la parte default che carica la pagina di cortesia




Pagina semplice, che può essere complicata come meglio si crede

Nessun commento:

MONITORE NAPOLETANO - Prima Pagina