Щоб зрозуміти, що відбувається, потрібно трохи знати про DNS.
Коли клієнт хоче підключитися до послуги на даному хості, він шукає ім'я хоста через локальну інфраструктуру DNS і отримує у відповідь IP-адресу. Потім він з'єднується з цією IP-адресою та запитує послугу в порядку, визначеному прокотолом, який він створений для реалізації.
У деяких випадках частина цього протоколу передбачає повторне надсилання спочатку знайденого імені хоста, яке в цьому випадку надсилається на сервер, а не в інфраструктуру DNS. У випадку з HTTP це додано як частина HTTP / 1.1, в RFC 2616 ; у випадку HTTPS це було реалізовано як індикація імені сервера (SNI) в RFC 4366 ; у випадку FTP це додано HOST
командою в RFC 7151 (але див. пізніше застереження). Якщо такого повторного надсилання не відбувається, сервер не має можливості дізнатися, яке ім'я хоста клієнт подає на свій локальний DNS, щоб отримати IP-адресу сервера.
Зауважте, що у всіх випадках для цього другого надсилання потрібна зміна протоколу і, таким чином, усвідомлення імені хоста-взаємодії клієнт-сервер. Після зміни протоколу для його реалізації довелося оновити код сервера. І нарешті, клієнтів довелося оновити, щоб поговорити про новий протокол із серверами. Цей останній крок може бути особливо повільним; що стосується SNI, Internet Explorer на Windows XP ніколи його не реалізовував, тому протокол не можна було покластися на нього, поки все ще існувала значна кількість користувачів IE-на-XP, і на це достатньо десяти років, щоб їх достатньо відмирають та / або отримують оновлення, які SNI надійно розгортаються.
Отже, це потрібно, щоб зробити протокол, не відомий імені хоста, протокол відомий. Це не проста установка прапора або зміна конфігурації. У нас є деякі відповіді, що стосуються протоколу, які стосуються стану справ та можливих заходів щодо пом'якшення, зокрема для цього протоколу: для
SSH (а отже, і SFTP) та для
FTP (що вказує, що HOST
підтримка FTP наразі є виправленою -фаза підтримки, і тому ще не можна покластися на неї).
Коротка відповідь полягає в тому, що якщо ваш протокол зараз не реалізує усвідомлення імені хоста, при хорошій підтримці як клієнтів, так і серверів, забудьте це: це не те, що ви можете зробити.