Giả sử một trang web được cân bằng tải giữa một số máy chủ. Tôi muốn chạy một lệnh để kiểm tra xem nó có hoạt động không, chẳng hạn như curl DOMAIN.TLD
. Vì vậy, để cách ly từng địa chỉ IP, tôi chỉ định IP theo cách thủ công. Nhưng nhiều trang web có thể được lưu trữ trên máy chủ, vì vậy tôi vẫn cung cấp tiêu đề máy chủ, như thế này : curl IP_ADDRESS -H 'Host: DOMAIN.TLD'
. Theo hiểu biết của tôi, hai lệnh này tạo ra cùng một yêu cầu HTTP chính xác. Sự khác biệt duy nhất là trong phần sau tôi lấy phần tra cứu DNS từ cURL và làm điều này bằng tay (vui lòng sửa cho tôi nếu tôi sai).
Tất cả đều tốt cho đến nay. Nhưng bây giờ tôi muốn làm tương tự cho một url HTTPS. Một lần nữa, tôi có thể kiểm tra nó như thế này curl https://DOMAIN.TLD
. Nhưng tôi muốn chỉ định IP bằng tay, vì vậy tôi chạy curl https://IP_ADDRESS -H 'Host: DOMAIN.TLD'
. Bây giờ tôi nhận được một lỗi cURL:
curl: (51) SSL: certificate subject name 'DOMAIN.TLD' does not match target host name 'IP_ADDRESS'.
Tất nhiên tôi có thể khắc phục điều này bằng cách nói với cURL không quan tâm đến chứng chỉ (tùy chọn "-k") nhưng nó không lý tưởng.
Có cách nào để cách ly địa chỉ IP được kết nối với máy chủ được chứng nhận bởi SSL không?
Host
tiêu đề, vì vậy đây --resolve
là cách phù hợp để ghim địa chỉ IP.