テクノロジー · 実用ガイド

curl エラー35:暗号を変える前に最後に成功したTLS境界を特定する

エラー35はSSL/TLSハンドシェイク失敗を示すだけです。curlのビルド、プロキシ経路、詳細な順序を保存し、一つだけ変えて再試験します。

オリジナル編集イラスト:TCP、プロキシCONNECT、ClientHello、ServerHello、証明書検証の境界。
オリジナル編集イラスト:セキュリティ設定を変える前に最後に完了した境界を記録する。 Watch at Ease

curlエラー35は一つの原因ではなく、ハンドシェイク失敗の集合です。最後に完了したTCP、CONNECT、ClientHello、ServerHello、証明書検証の境界を、設定変更前に保存します。

失敗経路を固定する

秘密を除いたURL、実行ホスト、プロキシ環境、IP族、curl -Vを記録します。バージョン出力はcurlのビルドとTLSバックエンドを示し、バックエンドごとにエラー文は異なります。

最後に証明された境界を残す

安全な要求でcurl -vを実行し、資格情報を除いて順序を保存します。TCP成功は経路と待受、CONNECT 200はトンネルだけの証明です。ClientHello送信はTLS試行、警告やServerHello受信は次の境界を示します。

最初に欠けた手順で分類する

ServerHello前のHTTPらしいバイトやwrong version numberは、非TLSサービス、誤ポート、プロキシ方式不一致を示し得ます。ClientHello後の切断はサーバー、検査装置、SNI、プロトコル、方針を調べ、証明書後の失敗は信頼・身元分岐です。

s_clientで独立再現する

同じホスト、ポート、SNIでopenssl s_clientを使い、実際にHTTP CONNECTを通る場合だけproxy指定を加えます。プロトコル、警告、証明書、検証境界を比較できますが、全curlバックエンドの同一方針は証明しません。

一度に一境界だけ変える

正しいポート、許可された直結対プロキシ、承認IPへの同一ホスト、または一つのプロトコル範囲だけを試します。insecure、暗号変更、迂回、更新を重ねません。境界が動かなければ元へ戻します。

信頼を弱めず修正を証明する

元の失敗コマンドを繰り返し、境界台帳と単一変更を保存します。証明書とホスト名検証を有効に保ちます。詳細ログは秘密を含み得るため、順序を保った後にマスクします。

オリジナル編集イラスト:基準、一つの変更境界、再試験の判定を比較する。
オリジナル編集イラスト:一つの変更で一つの問いに答え、元へ戻せるようにする。 Watch at Ease