Destul de tipic în cazul rezilierii SSL este faptul că serverul/serviciul back-end va percepe asta ca: „utilizatorul final este conectat printr-un protocol text clar” , cu alte cuvinte peste simplu http.
Apoi, va încerca util să „rezolve acel risc de securitate” redirecționând utilizatorul către HTTPS.
------ --------------- -------------------
| UTILIZATOR | ===> HTTP ==> | Echilibrator de sarcină | ==> HTTP ==> | Redirecționează către HTTPS |
------ --------------- -------------------
------ ----------------- --------------------
| UTILIZATOR | ===> HTTPS ==> | Terminare SSL | ==> HTTP ==> | Redirecționează către HTTPS |
------ ----------------- --------------------
Utilizatorul face o nouă solicitare (utilizau deja HTTPS, dar o redirecționare este o redirecționare), dar va fi din nou redirecționat:
------ ----------------- --------------------
| UTILIZATOR | ===> HTTPS ==> | Terminare SSL | ==> HTTP ==> | Redirecționați către HTTPS |
------ ----------------- --------------------
Și apoi repetă asta din nou și din nou.
Soluția obișnuită este re-configurarea opțională a punctului de terminare SSL pentru a face cereri HTTPS către serverul back-end și eliminarea redirecționării către funcționalitatea HTTPS de pe serverul back-end și mutarea acesteia în Load Balancer.
------ -------------------
| UTILIZATOR | ===> HTTP ==> | Echilibrator de sarcină |
------ | Redirecționați către HTTPS |
-------------------
------ ----------------- ----------
| UTILIZATOR | ===> HTTPS ==> | Terminare SSL | ==> HTTP(S) => | Răspunde |
------ ----------------- ----------