BETA

Mastodon v3.2.0 アップデートメモ (S3+CloudFront環境)

投稿日:2020-08-02
最終更新:2020-08-02

基本的には下記のリリース手順に従うだけ……なのはいつもの事。

https://github.com/tootsuite/mastodon/releases/tag/v3.2.0

ただし、今回はメディアを別サーバに置いている場合はCORSの設定が必要との記載あり。どうやらv3.2.0で新しくなった音声プレイヤーが正しく動作するために必要らしい。

If you are serving user-uploaded files from a differet domain/subdomain than the one the Mastodon web UI is served from, please keep in mind that you need to return CORS headers on those files, otherwise the new audio player will not work. Here is an example of nginx directives for returning the appropriate CORS headers:

add_header 'Access-Control-Allow-Origin'  '*';  

私が管理しているertona.netではメディアをS3にアップロードし、CloudFrontを経由して配信しているので、下記の対応が必要だった。

S3のCORS設定

S3 Management Consoleを開き、「アクセス権限」→「CORSの設定」を開く。
続いて、CORS構成エディターに下記のような感じで設定を投入する。とりあえずS3はこれだけでも動いてくれる。
詳しくはドキュメント参照。

<?xml version="1.0" encoding="UTF-8"?>  
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">  
<CORSRule>  
    <AllowedOrigin>*</AllowedOrigin>  
    <AllowedMethod>GET</AllowedMethod>  
    <AllowedMethod>HEAD</AllowedMethod>  
    <MaxAgeSeconds>3000</MaxAgeSeconds>  
    <AllowedHeader>*</AllowedHeader>  
</CORSRule>  
</CORSConfiguration>  

CloudFrontの設定

OPTIONSリクエストを受けつけてキャッシュするようにするのと、CORS関係のヘッダーをオリジン(S3)に転送するように設定が必要。

まだ理解が浅いが、この辺に従うといい感じになった。
リクエストごっそりキャッシュされているので、設定の反映を確認するためにはどうにかしてinvalidateさせるか、単に新しくファイルをアップロードしてそれに対してリクエストすると良い。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@shibafu528の技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう