Je to chyba klienta – pošle v hlavičce
Host jiné jméno, než to platné pro aktuální spojení podle SNI. Je to tedy specifické pro HTTPS, protože tam se posílá hostname v SNI rozšíření TLS a pak ještě jednou v hlavičce
Host. Zajímalo by mne, který klient to dělá – tipoval bych si, jestli to nebude nějaký „chytrý“ proxy server, nejspíš nějaký, který se bude pyšnit tím, jak zabezpečuje komunikaci…
Nemusí to být ani „stejné“ spojení – pokud budete testovat něco třeba pomocí curl, můžete v parametru pro SNI použít nějaké hostname, a pak do požadavku napíšete hlavičku Host, kde uvedete jiné hostname. Pokud budete zkoušet kontaktovat víc serverů, může se vám stát, že prostě zapomenete to jméno přepsat na obou místech. Nemusí tedy jít o následující požadavek, ale hned o ten první (je možné, že pak server pošle trochu jinou chybovou hlášku, ale princip – konflikt mezi SNI a hlavičkou
Host – je stejný).
napadá mě, že to jde v hanshake TLS
Je to volitelná položka v úvodu TLS spojení, ještě v té nešifrované části.
A co znamená HTTP hlavička authority (v curl zapsané -H "authority: subdomena.serppklc.cz) ? a Jak se liší /souvisí s Host: ?
Hlavička
:authority je nová v HTTP/2 a víceméně by měla nahradit hlavičku
Host z HTTP/1.1. V požadavku by měla být buď jedna nebo druhá.