Vai al contenuto

Gestire I Backend

Monitoraggio dei backend

Il Web Accelerator monitora costantemente il funzionamento dei backend, verificando che le richieste per uno specifico URL restituiscano 200.

Quando il monitoraggio segnala un errore, il Web Accelerator smette di inviare richieste a quel backend. Nel caso non ci siano altri backend funzionanti allora continuerà a rispondere con gli oggetti rimasti in cache anche per un certo periodo dopo la loro scadenza, e dopo con una pagina di cortesia. In questo modo brevi guasti o manutenzioni di un sito cacheabile possono restare invisibili ai visitatori.

Normalmente il personale di Seeweb installa un file ping.php nel sito, oppure in un dominio creato ad hoc nel caso il backend gestisce più siti. Nel caso di siti gestiti con Wordpress il file monitora automaticamente anche il funzionamento del server del database. In ogni caso il cliente può fornire un URL di monitoraggio adeguato alle proprie esigenze.

Load balancing dei backend

La ridondanza e scalabilità dei backend è gestibile con un meccanismo di load balancing: il Web Accelerator può inoltrare il traffico a più backend e ignorare quelli non funzionanti.

Backend multipli

In caso di siti complessi in cui diverse parti dello stesso dominio sono gestite da backend diversi, il Web Accelerator può gestire il routing delle richieste verso il backend appropriato sulla base dell'URL o di altre caratteristiche.

Gestione dei veri IP dei visitatori

Il backend vede arrivare tutte le richieste dall'IP del Web Accelerator e può usare l'header standard X-Forwarded-For per ottenere il vero IP del visitatore.

Se il backend usa Apache allora il nostro personale configurerà mod_rpaf o mod_remoteip per gestirlo in modo trasparente.

Per i backend con IIS si può impostare:

Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/siteDefaults/logFile/customFields" -name "." -value @{logFieldName='X-Forwarded-For';sourceName='X-Forwarded-For';sourceType='RequestHeader'}

Gestione delle richieste HTTPS

Il Web Accelerator svolge anche la funzione di terminatore TLS, quindi le richieste originariamente fatte con HTTPS arrivano al backend sempre con HTTP e sono distinguibili da un header X-Forwarded-Proto: https.

Nella configurazione predefinita il Web Accelerator fa da solo il redirect da HTTP a HTTPS, quindi il backend può essere configurato semplicemente con solo HTTP e senza bisogno di gestire direttamente la logica dei redirect.

Nel caso il CMS voglia distinguere le richieste HTTP da quelle HTTPS si può integrarlo con questa direttiva di Apache, che di solito il nostro personale ha già installato nella configurazione generale del server:

SetEnvIf X-Forwarded-Proto "^https$" HTTPS=on

Nel caso si usi nginx invece è possibile configurare, per esempio in /etc/nginx/fastcgi.conf:

fastcgi_param X_FORWARDED_PROTO $http_x_forwarded_proto if_not_empty;

Raramente alcuni plugin di Wordpress invece richiedono di inserire del codice come questo direttamente in wp-config.php:

/* Per la gestione di HTTPS tramite il Web Accelerator --Seeweb */
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
    $_SERVER['HTTPS'] = 'on';