テクノロジー · 実用ガイド
curl エラー35:暗号を変える前に最後に成功したTLS境界を特定する
エラー35はSSL/TLSハンドシェイク失敗を示すだけです。curlのビルド、プロキシ経路、詳細な順序を保存し、一つだけ変えて再試験します。

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、暗号変更、迂回、更新を重ねません。境界が動かなければ元へ戻します。
信頼を弱めず修正を証明する
元の失敗コマンドを繰り返し、境界台帳と単一変更を保存します。証明書とホスト名検証を有効に保ちます。詳細ログは秘密を含み得るため、順序を保った後にマスクします。
