Para entender o que está acontecendo, você precisa saber um pouco sobre o DNS.
Quando um cliente deseja se conectar a um serviço em um determinado host, ele procura o nome do host por meio de sua infraestrutura DNS local e recebe um endereço IP em resposta. Em seguida, ele se conecta a esse endereço IP e solicita o serviço da maneira prescrita pelo procotol criado para implementar.
Em alguns casos, parte desse procotol envolve um segundo envio do nome do host procurado originalmente, que nesse caso é enviado ao servidor e não à infraestrutura DNS. No caso do HTTP, isso foi adicionado como parte do HTTP / 1.1, na RFC 2616 ; no caso do HTTPS, isso foi implementado como SNI ( Server Name Indication ) na RFC 4366 ; e no caso do FTP, isso foi adicionado pelo HOST
comando, na RFC 7151 (mas veja mais adiante). Se esse segundo envio não ocorrer, o servidor não terá como saber qual nome de host o cliente forneceu ao DNS local para obter o endereço IP do servidor.
Observe que em todos os casos foi necessária uma alteração no protocolo para fazer esse segundo envio e, assim, tornar a interação cliente-servidor com reconhecimento de nome de host. Depois que o protocolo foi alterado, o código do servidor teve que ser atualizado para implementá-lo. E, finalmente, os clientes precisavam ser atualizados para conversar com o novo protocolo com os servidores. Esse último passo pode ser particularmente lento; no caso do SNI, o Internet Explorer no Windows XP nunca o implementou; portanto, não foi possível confiar no protocolo enquanto ainda houvesse um número significativo de usuários do IE no XP, e levou cerca de dez anos para que morrer e / ou obter atualizações de que o SNI é implantável de maneira confiável.
É isso que é necessário para tornar um protocolo que não reconhece o hostname. É não um cenário de bandeira ou configuração simples mudança. Temos algumas respostas específicas de protocolo que lidam com o estado de coisas e possíveis medidas de mitigação, para esse protocolo em particular: para
SSH (e, portanto, também SFTP) e para
FTP (o que indica que o HOST
suporte ao FTP está atualmente no patchy) -support support e, portanto, ainda não pode ser invocado).
A resposta curta é que, se o seu protocolo não implementa atualmente reconhecimento de host, com bom suporte entre clientes e servidores, esqueça: não é algo que você possa fazer.
baz
puder ser alterada apenas por seu proprietário e único implementador, a única maneira de torná-lo com reconhecimento de nome de host é apelar para o proprietário. Isso não é uma resposta interessante do SF e, além disso, não está (na minha opinião) no tópico. " Como faço para projetar um protocolo com reconhecimento de nome de host " é outra questão completamente, e não uma que estou interessado em fazer.