BLOGTIMES
2019/07/07

CentOS5 の curl: (35) SSL connect error を力技で解決

  centos5  ssl 
このエントリーをはてなブックマークに追加

古いデータが入った VM を久しぶりに起動してバッチを起動したら curl が動かないことに気づきました。
実際に出たエラーは下記のようなもの。

curl: (35) SSL connect error

これは時代が変わって TLSv1.1 以降でないと接続できないようになっているからですね。

自分で curl と openssl をソースからビルド

CentOS 5 はすでにサポートが終了しているので使わない方が良いことは間違いありません。
ただ、今回はちょっとこれではどうにもならないので、curlopenssl を自分でビルドして解決してみました。

今回使ったのは curl-7.65.1 と openssl-1.0.2s で、LD_LIBRARY_PATH の影響を受けないように静的リンクしています。
wget なども使えないので、tar ball は scp でサーバに転送しました。

ビルド方法は以下のような感じでしょうか。

tar zxvf openssl-1.0.2s.tar.gz cd openssl-1.0.2s ./config no-shared zlib --prefix=$HOME/openssl make install_sw cd .. tar zxvf curl-7.65.1.tar.gz cd curl-7.65.1 LDFLAGS="-static" PKG_CONFIG="pkg-config --static" LIBS="-lpthread -lc" ./configure --disable-shared --enable-static --with-ca-fallback --with-zlib --with-ssl=$HOME/openssl make curl_LDFLAGS=-all-static make install

インストールしないで curl のバイナリだけが欲しい場合には make install の代わりに以下のようにしても大丈夫です。

strip ./src/curl cp -a ./src/curl /path/to/curl

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/11071
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン