LWP::UserAgent
を使いHTTPSで通信する際、正常にレスポンスが返ってこない場合があった。
正常に返ってくることもあるが、7〜8割の確率で失敗するという不安定さ。
以下の記事のようにモジュールをインストールしたり環境変数にいろいろと設定はすでにしていたがどうすればいいものかとハマっていた。
LWP::UserAgentでHTTPSプロキシ越しに通信する
ロードバランサがプロキシとして働き、そのせいもあるのかとドキュメントを漁ったり試行錯誤していたが結局Crypt::SSLeay
のドキュメントを見直して解決。
Crypt::SSLeay DO YOU NEED Crypt::SSLeay?
どうやらCrypt::SSLeay
とIO::Socket::SSL
がどちらもインストールされていてCrypt::SSLeay
を使用したい場合、LWP::UserAgent
をuseする前にNet:SSL
をuseするか環境変数に設定してやる必要があったらしい。
以下のようにして失敗することはなくなった。
use Net::SSL;
use LWP::UserAgent;