エラー内容
awsのElastic Beanstalk + CloudFront + S3環境で署名付きCookieを使いS3への接続を実装しているのですがlaravelのコントローラでプライベートキーの取得を試みると
error:0906D06C:PEM routines:PEM_read_bio:no start line
とのエラーが出てしまいプライベートキーが読み込めません
ローカル開発環境
windows10
PHP 7.3.9
Elastic Beanstalk環境
Laravel:6.20.36
PHP 7.4
コントローラーのプライベートキー取得部分
$signedCookieCustomPolicy = $cloudFront->getSignedCookie([ 'policy' => $customPolicy, 'private_key' => realpath(config('app.private_key_path')), 'key_pair_id' => 'Kxxxxx' ]);
下記のサイト様を参考に.ebextentions/privatekey.configファイルでS3に置いているプライベートキーをダウンロードして読み込ませています
プライベートキーのパスはElastic Beanstalkの環境変数に記載しました
https://zenn.dev/yutaroshimamura/articles/83c211b06905ef
キーペアの取得は下記のサイト様を参考にブラウザでrootでログインし取得しました
https://confrage.jp/aws-アカウントidでcloudfrontのキーペアを取得する方法/
検証
- aws管理画面からダウンロードしたキーファイルは開いたり編集したりせずそのまま使用しています
- ローカルの開発環境で確認するとエラーが出ずpemファイルが読み込めます(ローカル環境ではlaravelのpublicにpemファイルを置き確認しました)
- eb sshでディレクトリを確認したところ、所定の場所(/etc/pki/tls/certs/)にS3からpemがダウンロード出来ている事を確認しました
- viエディタでpemの中身を見たのですが不自然な改行等は見られませんでした
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。