minioの仕様が変わっていました

Dockerコンテナでminioを利用していましたが、minioのバージョンアップをすると、そこそこ修正しないといけないことがわかり焦りましたので、メモ残し。

コンソール用のポートが分離された

オブジェクト操作とコンソールのポートが分離されました。 起動時オプションに何も指定していないと、ダイナミックにポートが割り当たります。起動時オプションをつけて固定化できます。

minio server /data --console-address ":9001"

リバースプロキシ経由でminioを利用していたため、取り急ぎバーチャルホストを分けて対応しました。 (いままで「https://minio.example.com/」で済んでいたものから、オブジェクト操作用は「https://minio.example.com/」として、コンソール用に「https://minio-console.example.com/」を追加)

環境変数 MINIO_ACCESS_KEY と MINIO_SECRET_KEYは非推奨に

環境変数 MINIO_ACCESS_KEY と MINIO_SECRET_KEYは非推奨になったようです。代わりに MINIO_ROOT_USER と MINIO_ROOT_PASSWORDを使用します。

コンソール画面でWebSocketが使われるようになっている

コンソール上のツール機能が充実化し、トレースやオブジェクトのアクセス状況のウォッチが追加されています。これらの機能でWebSocket(wss://...)が使うようになっています。特にリバースプロキシを経由してminioのコンソールにアクセスする際、WebSocketに対応できるようにリバースプロキシ設定をしておきましょう。

NGINXを例に...こんなずぼらな設定をしていましたが、トレース機能の画面を見てもHTTPレスポンスコードが400でエラーとなり、なにも表示されません。

    location / {
        proxy_set_header Host $host;
        proxy_pass http://minio:9001;
    }

以下のように修正しました。

    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header Host $host;
        proxy_pass http://minio:9001;
    }

コメント