OpenSSL s_client: lỗi 403 từ proxy xảy ra trước TLS của đích
Hãy hiểu 403 trên CONNECT qua proxy OpenSSL là lỗi ở giai đoạn đường hầm và đừng chẩn đoán chứng chỉ của đích từ một handshake chưa từng bắt đầu.
Nếu openssl s_client nhận HTTP 403 để trả lời yêu cầu CONNECT qua proxy, hãy bắt đầu từ sự từ chối đó. Đường hầm được yêu cầu chưa được thiết lập.
Với -proxy, s_client trước tiên yêu cầu proxy HTTP kết nối tới đích được chỉ định bởi -connect. Chỉ phản hồi CONNECT thành công mới chuyển trao đổi đó thành đường hầm cho handshake TLS của đích.
Thứ tự này giải thích một kết quả đầu ra mà nếu không sẽ khó hiểu: lỗi proxy theo sau là các tiêu đề liên quan đến TLS, không có chứng chỉ của đối tác, hoặc một dòng xác minh trông có vẻ trấn an. Những trường đó không chứng minh rằng chứng chỉ của đích đã được nhận và xác minh. Thao tác đã dừng ở giai đoạn sớm hơn.
Ghi lại phản hồi của proxy cùng máy chủ và cổng đích đã yêu cầu. 403 hướng sự chú ý tới quyết định truy cập của proxy; 407 yêu cầu xác thực với proxy. Không cái nào được khắc phục bằng cách tắt xác minh chứng chỉ của đích.
Khi được phép kiểm tra trao đổi, đầu ra -debug của s_client có thể giúp phơi bày sự từ chối. Giữ mọi thông tin đăng nhập proxy ra ngoài các dấu vết được chia sẻ. Một đường hầm thành công vẫn cần đánh giá TLS và chứng chỉ riêng sau đó, nhưng không có chuỗi chứng chỉ đích nào để chẩn đoán cho tới khi giai đoạn đó thực sự đạt tới.