AWS/Ruby: OpenSSL::SSL::SSLError が出る問題への対処法(メモ)
Rails アプリケーションを Amazon Linux 上で動かしていて、OpenSSL::SSL::SSLError という例外に遭遇。open-uri の open メソッドで、外部の URL からファイルを取得するところで。
解決法は、http://d.hatena.ne.jp/komiyak/20130508/1367993536 および http://stackoverflow.com/a/5973759/513554にある通り。
簡単に言えば、(1) http://curl.haxx.se/ca/cacert.pem から証明書をダウンロードして適当なパス(例:/usr/local/etc/cacert.pem)に置き、(2) 環境変数 SSL_CERT_FILE にそのパスを指定して Rails アプリケーションを起動、すればOK。
起動スクリプトを /etc/init.d/ に置いているのなら、
export SSL_CERT_FILE=/usr/local/etc/cacert.pem
のような記述をそれに加える。