Untuk memahami apa yang terjadi, Anda perlu tahu sedikit tentang DNS.
Ketika klien ingin terhubung ke layanan pada host yang diberikan, ia mencari hostname melalui infrastruktur DNS lokalnya, dan menerima alamat IP sebagai tanggapan. Ini kemudian menghubungkan ke alamat IP itu, dan meminta layanan dengan cara yang ditentukan oleh procotol yang dibangun untuk diimplementasikan.
Dalam beberapa kasus, bagian dari procotol itu melibatkan pengiriman kedua nama host yang semula dicari, yang dalam hal ini dikirim ke server daripada infrastruktur DNS. Dalam hal HTTP, ini ditambahkan sebagai bagian dari HTTP / 1.1, dalam RFC 2616 ; dalam hal HTTPS, ini diterapkan sebagai Indikasi Nama Server (SNI) dalam RFC 4366 ; dan dalam hal FTP, ini ditambahkan oleh HOST
perintah, dalam RFC 7151 (tetapi lihat peringatan selanjutnya). Jika pengiriman kedua tidak terjadi, server tidak memiliki cara untuk mengetahui nama host yang diumpankan klien ke DNS lokal untuk mendapatkan alamat IP server.
Perhatikan bahwa dalam semua kasus perubahan pada protokol diperlukan untuk melakukan pengiriman kedua ini, dan dengan demikian membuat interaksi client-server-hostname-aware. Setelah protokol diubah, kode server harus diperbarui untuk mengimplementasikannya. Dan akhirnya, klien harus diperbarui untuk membicarakan protokol baru ke server. Langkah terakhir itu bisa sangat lambat; dalam hal SNI, Internet Explorer pada Windows XP tidak pernah menerapkannya, sehingga protokol tidak dapat diandalkan ketika masih ada sejumlah besar pengguna IE-on-XP di sekitar, dan perlu sekitar sepuluh tahun untuk cukup dari mereka untuk mati dan / atau mendapatkan peningkatan mutu yang dapat diterapkan oleh SNI.
Jadi itulah yang diperlukan untuk membuat protokol hostname-aware non-hostname-aware. Ini bukan pengaturan bendera sederhana atau perubahan konfigurasi. Kami memiliki beberapa jawaban spesifik protokol yang berhubungan dengan keadaan hubungan, dan kemungkinan langkah-langkah mitigasi, untuk protokol itu khususnya: untuk
SSH (dan dengan demikian juga SFTP) dan untuk
FTP (yang menunjukkan bahwa HOST
dukungan untuk FTP saat ini sedang dalam tambal sulam). -support fase, dan belum bisa diandalkan).
Jawaban singkatnya adalah jika protokol Anda saat ini tidak menerapkan kesadaran hostname, dengan dukungan yang baik di antara klien dan server, lupakan saja: itu bukan sesuatu yang dapat Anda lakukan.
baz
hanya dapat diubah oleh pemiliknya dan satu-satunya implementor, maka satu-satunya cara untuk membuatnya sadar akan nama host adalah dengan menarik pemilik. Itu tidak membuat jawaban SF yang menarik, dan lebih lagi tidak (menurut saya) pada topik. " Bagaimana cara mendesain protokol yang menyadari nama host " adalah pertanyaan yang sama sekali berbeda, dan bukan pertanyaan yang ingin saya tanyakan.