1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Reindirizzare il traffico web verso una porta specifica
Questa guida riguarda la reindirizzazione del traffico web verso una porta specifica, inclusi i casi di utilizzo di un IP dedicato e di un'applicazione web specifica (come Node
o Varnish
, ad esempio).
Prerequisiti
- Installare
HAProxy
sul Server Cloud.
Reindirizzare il traffico Web verso una porta specifica
Per impostazione predefinita, su Serveur Cloud, il traffico Web viene inviato a Apache
. Per inviare le richieste a uno script Node
o a un altro servizio (a condizione che "ascolti" su una porta compresa tra 4000 e 4009), è necessario passare attraverso HAProxy
.
Questo si applica in particolare ai server Express
, Socket.IO
, Meteor.js
, Nuxt.js
, Django
, Flask
, Ruby on Rails
, e anche eventualmente Java (J2E)
, ecc.
Per questo, è necessario assicurarsi che il servizio ascolti su una porta compresa tra 4000 e 4009 (ad esempio con server.listen(4000)
per Express
o un server HTTP Node
di base, ma a seconda del tipo di progetto, con altri mezzi, un file di configurazione, nel codice o altro) e su tutte le interfacce (0.0.0.0).
Sarà inoltre necessario configurare HAProxy
come nell'esempio seguente:
- Clicca qui per accedere alla gestione del tuo prodotto su Manager Infomaniak (hai bisogno di aiuto?).
- Fai clic direttamente sul nome assegnato al prodotto interessato.
- Clicca su Fast installer nel menu laterale sinistro.
- Clicca sul menu delle azioni â‹® situato a destra di
HAProxy
. - Clicca su Configura:
- Seleziona le informazioni desiderate e salva:
Recupero dell'IP di origine di una richiesta
Quando reindirizzi il traffico web verso la tua applicazione web, l'elaborazione delle richieste cambia e la richiesta viene prima ricevuta da un reverse proxy
(locale sul server) che poi trasferisce la richiesta alla porta scelta. Pertanto, a causa del trasferimento della richiesta, i metodi che normalmente consentono di recuperare l'IP del visitatore restituiranno l'IP del reverse proxy
invece di quella del visitatore.
Per recuperare l'IP di origine reale del visitatore in questi casi, è necessario consultare un header HTTP chiamato X-Forwarded-For
, che conterrà gli indirizzi IP di origine accumulati durante ogni reindirizzamento. Questo header conterrà quindi per ultimo l'indirizzo IP originale del cliente, permettendo di identificare il visitatore reale.
Attenzione: È importante notare che gli header HTTP possono essere manipolati, il che comporta rischi per la sicurezza. Per minimizzare questi rischi, è consigliabile verificare che la richiesta provenga da un server affidabile prima di fidarsi del contenuto dell'header X-Forwarded-For
. Questa verifica può comportare l'assicurarsi che la richiesta sia stata trasmessa da un server intermedio di fiducia, identificato da un elenco predefinito di indirizzi IP. Nel caso in cui il sito utilizzi un IP dedicato, i server di fiducia sono:
- 83.166.133.15
- 83.166.133.17
- 83.166.133.16
- 84.16.92.5
- 84.16.92.43
- 10.2.32.255
- 10.2.34.164