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;