Pfsense load balancing redirect errati
-
Ciao a tutti,
ho un problema con il servizio di load balancing di pfsense un po' particolare, che effettua dei redirect errati ad una porta bloccata del firewall.Cerco di spiegarmi: nell'azienda in cui lavoro utilizziamo il pfsense per suddividere il carico di rete tra 4 webserver.
I webserver vengono tolti dal bilanciamento (solitamente due a due) quando facciamo le release di codice dei nostri applicativi (le release vengono fatte su due server togliendoli dal bilanciamento, dopodiché le rimettiamo togliendo le altre due, esponendo così al pubblico il nuovo codice)
Dall'ultima release di Pfsense (2.3.4 release p1), succede una cosa strana: alcuni utenti vengono reindirizzati ad un url che non dovrebbe esistere. Ad esempio se l'applicativo ha come indirizzo http://myapp.dominio.com alcune persone vengono rimandate all'url https://myapp.dominio.com:1449. L'unico modo per risolvere è svuotare la cache del browser lato client.
La porta 1449 è la porta che abbiamo scelto per l'interfaccia di gestione di Pfsense, che su WAN è chiusa da una regola firewall.
Per togliere i server dal bilanciamente utilizziamo la schermata che si trova in status => load balancer, flaggando o defleggando i server di volta in volta.
Spero di essermi spiegato bene
Grazie in anticipo per l'aiuto,
Jack -
Ciao ragazzi,
nessuno ha idee per risolvere questo problema? -
Hai pensato ad una possibile soluzione con HAproxy configurato in round robin sui web server ?
-
Ciao,
grazie del consiglio, è abbastanza stabile? Anche perché si tratterebbe di riscrivere completamente la configurazione del nostro firewall di produzione.Per il momento abbiamo trovato un'alternativa, che ci ha portato anche a capire quale potrebbe essere il problema: quando togliamo un webserver dal bilanciamento provochiamo un riavvio del servizio di loadbalancer, e c'è un breve lasso di tempo in cui nessun webserver risponde. Se viene fatta una chiamata in quel momento allora si viene reindirizzati alla porta 1449.
Poi purtroppo il browser mette in cache la chiamata (Chrome è il peggiore in questo senso) e se non si vuota la cache manualmente lato client non c'è più modo di raggiungere il sito.
Per ovviare al problema, dato che i webserver sono controllati dal Pfsense tramite ping, abbiamo creato delle regole firewall sui client (tramite Windows firewall) che abilitiamo quando abbiamo necessità di rimuovere una macchina dal bilanciamento (blocchiamo tutto il traffico ICMP proveniente dal Pfsense).
Non è la soluzione perfetta ma abbiamo ridotto quasi del 100% le chiamate di assistenza; spero possa essere utile a qualcuno in attesa di un fix, o di una migliore soluzione.
Ciao,
Jack -
…. è abbastanza stabile? ....
Mha… io lo uso da più di un anno e non ho avuto ancora problemi.
A onor del vero non lo stò usando in modalità round-robin, ma solo per condividere uno stesso ip pubblico con più vm server in dmz, in modo che a seconda del www.miodominiorichiesto.com, risponda il server vm associato nella dmz. -
Ciao a tutti,
ho aggiornato all'ultima release di Pfsense disponibile ad oggi (stabile) ma ho ancora lo stesso problema: se il servizio di load balancer integrato si riavvia per qualche motivo (modifiche alla configurazione, rimozione di un ip dal bilanciamento) un client che effettua una chiamata all'ip pubblico viene reindirizzato all'url sbagliato (https e porta 1449)Qualcun'altro ha questo problema? E' un bug di pfsense o abbiamo configurato noi male il firewall?
Non ho ancora provato ad utilizzare Haproxy ma se non ci sono strade alternative penso che faremo almeno un tentativo
Grazie,
Jack -
Did you disable 'webgui redirect' under system/advanced settings? Might help..
-
Did you disable 'webgui redirect' under system/advanced settings? Might help..
Hi, thank you for suggestion
I will try tomorroy and I'll report back as soon as possible
Best regards,
Jack -
Did you disable 'webgui redirect' under system/advanced settings? Might help..
Hi PiBa, after many test I can say… IT WORKS!!!
Thank you very much for suggestion 8) 8) 8)
Best regards,
Jack