Mastodon v1.3.3リリース!+α

HTTP/2対応
日本時間の5月7日、GWの最終日にMastodon v1.3.3がリリースされた。早速Myインスタンスをアップデートしつつ、少し環境を整えたのでメモ書き。

ディスク容量不足!?

何時ものようにgitでコードを更新した後、docker-compose buildを実行すると途中でerror。原因は容量不足で書き込めない。dfで調べると確かにもう99%使っている。

考えてみればテストも兼ね何度もDockerをup/downしているので、不要なコンテナとイメージが蓄積され、ほぼ容量を使い切っている状態だった。

とりあえず綺麗さっぱり忘れるために以下のコマンドを実行。大幅に容量が増えたのを確認。

HTTP/2対応へ

アップデートが終わり、v1.3.3を起動しTootを眺めていると、HTTP/2の文字が。「そう言えばまだやっていなかったな…。」と対応することに。

ただCentOS 7で普通にyumすると、OpenSSLはv1.0.1系が入るものの、HTTP/2にするにはv1.0.2系が必要。更にnginxがそれを参照しなければならない。と言うことで面倒だがmake決定。

CentOS 7はminimalを使った関係上、開発環境が入っていない。以下必要なコマンドなどをインストール。

次に/usr/local/srcでOpenSSLコードを展開。makeして、バイナリを入れ替える。

今度はnginx。事前に./configureに指定するパラメータを現バージョンでメモしておく(configure arguments:)。

以降は普通のmake。先にメモした./configureのオプション最後に、

この2つを加えて./configureする。

既に.confには

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

http2の記述があるのでnginxをリスタートするだけでいい。

確認はChromeの検証でNetwork / Protocolがh2になっているか(冒頭の画面キャプチャ)、nginxのaccess.logでHTTP/2.0の文字が見えればOKだ。

追記:.confのサンプルではHSTSの設定がこうなっているが、

add_header Strict-Transport-Security “max-age=31536000”;

サブドメインでインスタンスを運用する時には、includeSubdomainsを追加しないと効いてない感じだ。

add_header Strict-Transport-Security “max-age=31536000; includeSubdomains”;

Qualys SSL LABSのスコアがA-!?

いろいろ変わったので再度チェックしたところ、v1.2系でインスタンスを上げた時はA+だったのに何故かA-に落ちてしまった。違いは…と考えてみるとnginxの.confが一部異なっている。

ここのサンプルをそのまま使うとA-になるので、当初の内容へ戻すとA+に。これで一件落着!

Qualys SSL LABS

余談になるが今回、安定版の1.3-stableと先行版にBranchした。新機能の購読言語指定などはこの1.3-stableには入っていない。

しかし比較的天候に恵まれたGWに何をやってるのか(笑)