0
0

AWS-S3のSSL認証エラーのデバッグ

Posted at

この記事の内容

ストレージとしてS3を使おうと思ったのに、保存ができなかったので調べつつデバッグしました。
備忘録として対応内容を残します。

環境

  • Windows11にUbuntsを入れて実行
  • WSL2を使用

エラーの詳細

エラーが発生する状況

  • article/id/edit の画面で画像ファイルを添付し、保存ボタンを押すタイミングで発生
  • 保存先のストレージを:localから:amazonに変更後に発現

エラーの内容

Seahorse::Client::NetworkingError - SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate):
  app/controllers/articles_controller.rb:33:in `update'
  • 下記はchatGPTにエラーメッセージの内容を確認した際の返答

Seahorse::Client::NetworkingError - SSL_connect は、AWS SDK for Rubyを使用している際に発生するネットワーク関連のエラーです。具体的には、SSL/TLS接続を確立しようとした際に失敗したことを示しています。

エラーに対する仮説

エラーについて調べたこと

  1. chatGPTにエラーの原因と解決策を確認
  2. "S3 Seahorse::Client::NetworkingError - SSL_connect" でGoogle検索し以下の公式チュートリアルを確認

エラーが発生しうる状況

  • SSL証明書が最新の状態になっていないとき
  • 証明書バンドルが適切にインストールできていないとき
  • Windowsにおいて、公式チュートリアルにある設定をしていないとき
  • プロキシサーバーやファイアウォールなどの設定に問題があるとき
  • Access Key ID や Secret Access Key の設定ミスではない
    • 上記の場合は別のエラーメッセージが出る

デバックとして実行したこと

1.SSL証明書を最新の状態に更新する

  • 実施したこと:
    下記のコマンドをUbuntsのルートディレクトリで実行

    sudo apt-get update
    sudo apt-get install --reinstall ca-certificates
    
  • 結果:
    状況が変わらない

2.aws-sdk-s3が適切にインストールできているか確認

  • 実施したこと:
    gemfileの記述とgemfile.lockの記述を確認

  • 結果:
    gemfile.lockに下記の記述を確認。適切にインストールされていると判断

    aws-eventstream (1.3.0)
    aws-partitions (1.968.0)
    aws-sdk-core (3.201.5)
      aws-eventstream (~> 1, >= 1.3.0)
      aws-partitions (~> 1, >= 1.651.0)
      aws-sigv4 (~> 1.9)
      jmespath (~> 1, >= 1.6.1)
    aws-sdk-kms (1.88.0)
      aws-sdk-core (~> 3, >= 3.201.0)
      aws-sigv4 (~> 1.5)
    aws-sdk-s3 (1.159.0)
      aws-sdk-core (~> 3, >= 3.201.0)
      aws-sdk-kms (~> 1)
      aws-sigv4 (~> 1.5)
    aws-sigv4 (1.9.1)
      aws-eventstream (~> 1, >= 1.0.2)
    
  1. 公式チュートリアルに記載のある設定を実施
  • 実施したこと:
    config/initializer内にaws_sdk.rbファイルを作成し、以下を記述
    Aws.use_bundled_cert!
    
  • 結果:uninitialized constant Aws (NameError)が出る
  • 追加で実施したこと:aws_sdk.rbファイルの先頭に以下を記述
    require 'aws-sdk-s3'
    
  • 結果:画像の保存、表示が可能に!
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0