← Cloudflare Load Balancing / load-balancing / understand-basics / traffic-steering / origin-level-steering
Hash
Hašovací směrování řídí Cloudflare při odesílání požadavků na koncové body na základě kombinace váhy koncových bodů a předchozí požadavky z dané IP adresy. Zajišťuje, že požadavky ze stejné IP adresy směřují na stejný endpoint, skutečné rozložení provozu se ale od vah endpointů může lišit.
Omezení při používání Workers
Hash Steering se opírá o x-forwarded-for hlavičku ke zjištění zdrojové IP adresy požadavku. Pokud však Cloudflare Worker se používá před load balancerem, může to ovlivnit fungování Hash Steering.
Když požadavek pochází z prohlížeče, chybí mu x-forwarded-for hlavičku, ale pokud Worker předá požadavek load balanceru prostřednictvím proxy, je v hlavičce namísto původní IP adresy klienta uvedena IP adresa Workeru. Protože se IP adresa Workeru (často veřejná IP adresa Cloudflare) může mezi jednotlivými požadavky měnit, může Hash Steering směrovat požadavky stejného klienta na různé koncové body, což vede k nekonzistentnímu směrování provozu.
Řešení
Aby Hash Steering fungoval správně při použití Workeru před Load Balancerem, ručně nastavte x-forwarded-for hlavičku ve Workeru na původní IP adresu klienta. Ručním nastavením x-forwarded-for na CF-Connecting-IP, Hash Steering bude fungovat podle očekávání a zajistí konzistenci provozu pro koncové uživatele.