Mamy farmę serwerów WWW, która obecnie hostuje 2 aplikacje - obie aplikacje działają na wszystkich serwerach. Chcemy to podzielić, abyśmy mieli dedykowaną farmę serwerów dla każdej aplikacji (mamy ku temu dobre powody).
Mieliśmy nadzieję, że przed wszystkimi serwerami znajdzie się jeden moduł równoważenia obciążenia, który kierowałby ruch do prawidłowej farmy na podstawie nazwy hosta, ale chcemy zachować SSL na serwerach WWW.
Wygląda na to, że routery, które są nam oferowane, nie robią tego. Rozumiem, że bez SNI jest to niemożliwe, ale oczekujemy wskaźników SNI na praktycznie całym naszym ruchu.
Teraz jestem programistą, a nie facetem z sieci, ale kiedy pojawia się nowe żądanie połączenia SSL, router nie może sprawdzić nagłówka SNI i skierować się do właściwej farmy. Zakładam, że przychodzące połączenie SSL jest identyfikowane przez {źródłowy adres IP: port źródłowy}, więc czy nie mógł zapamiętać tego dla kolejnych przychodzących pakietów (jeśli SNI jest obecny tylko w pierwszym pakiecie)?
O ile wiem, Haproxy to robi, ale wydaje się, że sprzętowe usługi równoważenia obciążenia nie. Czy jest jakiś powód tego, czy jest to coś, na co powinniśmy naciskać?
(W przypadku ostatniego strażnika używającego IE na XP, który nie zawiera SNI, chcielibyśmy wysłać ruch do starej farmy i w razie potrzeby moglibyśmy zarządzać proxy do nowej farmy).
źródło
Router zwykle działa tylko w warstwie OSI 3, tzn. Nie sprawdza zawartości pakietu, a jedynie docelowy adres IP. W przypadku routingu opartego na SNI konieczna byłaby znajomość protokołu TCP i TLS, który jest zarówno bardziej złożony, jak i znacznie droższy (pod względem wydajności), niż tylko routing oparty na adresie IP. I to zwykle nie jest już nazywane routingiem.
Miksujesz router (warstwa 3), sprzętowy moduł równoważenia obciążenia (warstwa 4 i być może wyższy) i Haproxy (programowy moduł równoważenia obciążenia). Sprzętowy moduł równoważenia obciążenia jest niczym więcej niż urządzeniem z jakimś oprogramowaniem równoważącym obciążenie, a może także przyspieszeniem sprzętowym dla określonych działań. Nie ma nic, co z natury uniemożliwiłoby równoważenie (nie routing) na podstawie informacji SNI na sprzętowym module równoważenia obciążenia i podobnie jak inna odpowiedź sugeruje, że istnieją produkty, które to obsługują. Ale oczywiście trzeba go wdrożyć i kosztuje to wydajność - im głębiej patrzysz na ruch, tym wolniej.
źródło