はじめに
Slack APIを使ったシステムを運用していたら突然SSLのエラーが表示されて利用できなくなったので、その時の対応メモを残しておきます。
環境
サーバー:AWS、EC2、linux2
環境:Rails
Gem:slack-ruby-client、faraday
状況
Slack APIを呼び出そうとすると次のようなエラーメッセージが表示された。
SSL_connect returned=1 errno=0 state=error: tlsv1 alert protocol version
ローカル開発環境では問題は起きなかった。
原因
SlackのAPI接続に使うCA証明書が有効期限切れになった。
(LetsEncyptに変更された模様)
Slackのブログはこちら
AWSの資料はこちら
対応
# SSHログインのメッセージでlinux2と判別(前述のAWS資料よりLinux2の対応を実施)
$ sudo yum list installed | grep ca-
# CAバージョンを確認
$ sudo yum update ca-certificates
# バージョンアップ
$ sudo yum list installed | grep ca-
# バージョンアップ後のCAバージョンを確認
最後に
問題が発生した際、エラーが発生する環境と何のエラーも起きない環境があったので問題の切り分けが難しかったです。
T氏の情報提供のおかげで無事対処できました。