Help us understand the problem. What is going on with this article?

SSLで運用しているmastodonとS3の連携のハマりどころ

More than 3 years have passed since last update.

mastodonの画像とか動画をS3で管理しようと思ったらハマったので解決策を書きます。

ハマりどころ

.env.productionのS3の設定項目のうち、S3_PROTOCOLだけでなくS3_ENDPOINTも設定しないと、S3のSSLがうまく働かない。

原因

S3_ENDPOINTを設定しないと、画像のURLがhttps://${bucket-name}.sp-${region}.amazonaws.com/.....のようになる。
ところが、S3のSSL鍵はsp-${region}.amazonaws.comドメインに対してのものなので、「不正なSSL鍵です」という警告が出て、ブラウザでアクセスできない。

結論

.env.productionに以下のようなオプションを書き加えればよい。

S3_ENABLED=true
S3_BUCKET=${your-bucket-name}
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
S3_REGION=${your-bucket-region}
S3_PROTOCOL=https
S3_ENDPOINT=https://s3-${your-bucket-region}.amazonaws.com

感想

.env.production.sampleの書き方がわかりづらいと思った。

備考

他の記事へのコメントで、 S3_PROTOCOL は設定しなくていいよっていうのがありました。 もしかしたら、S3_PROTOCOLを指定しなければ全部うまくいくのかもしれません(未確認)。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away