Để hiểu những gì đang xảy ra, bạn cần biết một chút về DNS.
Khi khách hàng muốn kết nối với một dịch vụ trên một máy chủ nhất định, nó sẽ tìm tên máy chủ thông qua cơ sở hạ tầng DNS cục bộ và nhận được địa chỉ IP để phản hồi. Sau đó, nó kết nối với địa chỉ IP đó và yêu cầu dịch vụ theo cách được quy định bởi Procotol mà nó được xây dựng để thực hiện.
Trong một số trường hợp, một phần của Procotol đó liên quan đến việc gửi tên máy chủ thứ hai được tra cứu ban đầu, trong trường hợp này được gửi đến máy chủ thay vì cơ sở hạ tầng DNS. Trong trường hợp HTTP, điều này đã được thêm vào như một phần của HTTP / 1.1, trong RFC 2616 ; trong trường hợp HTTPS, điều này đã được triển khai dưới dạng Chỉ định tên máy chủ (SNI) trong RFC 4366 ; và trong trường hợp của FTP, điều này đã được thêm vào bởi HOST
lệnh, trong RFC 7151 (nhưng xem cảnh báo sau). Nếu việc gửi thứ hai như vậy không xảy ra, máy chủ không có cách nào để biết tên máy chủ mà khách hàng đã cung cấp cho DNS cục bộ của mình để lấy địa chỉ IP của máy chủ.
Lưu ý rằng trong mọi trường hợp, cần phải thay đổi giao thức để thực hiện việc gửi thứ hai này và do đó làm cho tên máy chủ tương tác giữa máy khách và máy chủ nhận biết. Sau khi giao thức được thay đổi, mã máy chủ phải được cập nhật để thực hiện nó. Và cuối cùng, các máy khách phải được cập nhật để nói về giao thức mới với các máy chủ. Bước cuối cùng đó có thể đặc biệt chậm; trong trường hợp SNI, Internet Explorer trên Windows XP không bao giờ triển khai nó, vì vậy giao thức không thể dựa vào trong khi vẫn còn một số lượng đáng kể người dùng IE-on-XP và phải mất khoảng mười năm để họ có đủ chết đi và / hoặc nhận các bản nâng cấp mà SNI có thể triển khai một cách đáng tin cậy.
Vì vậy, đó là những gì nó cần để làm cho một giao thức nhận biết tên máy chủ không nhận biết tên máy chủ. Nó không phải là một thiết lập cờ đơn giản hoặc thay đổi cấu hình. Chúng tôi có một số câu trả lời dành riêng cho giao thức liên quan đến tình trạng và các biện pháp giảm thiểu có thể có, cụ thể là cho giao thức đó: cho
SSH (và cả SFTP) và cho
FTP (chỉ ra rằng HOST
hỗ trợ cho FTP hiện đang trong tình trạng chắp vá giai đoạn hỗ trợ, và do đó không thể dựa vào).
Câu trả lời ngắn gọn là nếu giao thức của bạn hiện không triển khai nhận thức về tên máy chủ, với sự hỗ trợ tốt giữa cả máy khách và máy chủ, hãy quên nó đi: đó không phải là điều bạn có thể làm.