Chuyển đến nội dung
Tất cả bài viết
Blog & hướng dẫn/Xử lý lỗi & Bảo mật
Xử lý lỗi & Bảo mật

Hostname và SNI khi dùng Proxy: Vì sao thay tên miền bằng IP làm HTTPS khác đi?

Giữ đúng hostname khi thử tuyến mạng để không vô tình đổi virtual host, tên xác minh chứng chỉ hoặc điều kiện phép so sánh.

Hostname và SNI khi dùng Proxy: Vì sao thay tên miền bằng IP làm HTTPS khác đi?
NỘI DUNG BÀI VIẾTHướng dẫn chi tiết từ ProxySmart

Truy cập một IP trực tiếp có thể báo lỗi chứng chỉ hoặc mở một website khác. Kết quả đó không tự chứng minh proxy hoặc DNS bị hỏng, vì bạn đã thay đổi tên đích trong phép thử.

Hostname quan trọng thế nào?

Server có thể phục vụ nhiều website trên cùng IP. Hostname được dùng ở các lớp như TLS SNI và định tuyến HTTP. Chứng chỉ cần phù hợp với tên mà client xác minh; xem tài liệu curl về xác minh chứng chỉ.

Phân biệt hai phép thử

  • Đổi URL từ tên miền sang IP: thay tên tài nguyên mà client sử dụng.
  • Giữ hostname nhưng điều khiển địa chỉ kết nối: thử một tuyến hoặc endpoint, nếu công cụ và quyền cho phép.

Không phải mọi công cụ đều hỗ trợ cách thứ hai qua mọi loại proxy. Ví dụ, một số kiểu proxy phân giải tên ở phía proxy. Cần đọc tài liệu client và xác minh tuyến thực tế, không áp dụng cờ một cách máy móc.

Checklist chẩn đoán

  1. Ghi URL gốc và hostname chính xác.
  2. Kiểm tra thông báo TLS và chứng chỉ của đích đang gặp.
  3. Đối chiếu DNS trong phạm vi được phép.
  4. Nếu thử địa chỉ cụ thể, giữ hostname theo khả năng công cụ và ghi rõ điều kiện.
  5. Quan sát phản hồi đúng dịch vụ, không chỉ mã thành công.

Ví dụ minh họa

Một server có nhiều virtual host. Request bằng IP đến website mặc định, còn request bằng tên miền đến ứng dụng mong muốn. Thay IP hoặc tắt TLS để làm thử nghiệm “chạy được” không tạo ra một phép so sánh hợp lệ.

Công cụ hỗ trợ vẫn cần xác minh

curl --resolve hỗ trợ ánh xạ hostname và cổng tới địa chỉ trong những tình huống phù hợp. Hành vi qua proxy cần đối chiếu với loại proxy và cách phân giải tên. Bài viết không đưa lệnh áp dụng cho hệ thống thật khi chưa biết cấu hình.

Không bỏ xác minh để thay điều kiện

Không dùng chế độ insecure để che lỗi sai tên chứng chỉ. Không sửa Host header hoặc DNS trên toàn hệ thống khi chỉ cần một phép thử nhỏ. Ghi lại thay đổi và chỉ thực hiện trong môi trường được phép.

Đọc thêm DNS khi dùng proxy. Khi nhờ hỗ trợ, cung cấp hostname và dấu vết đã che token, không gửi thông tin xác thực.