はじめに
たまたま、nginxの脆弱性の記事を見つけた。
Docker Composeでnginxを動かしているのだが、導入時からnginxをアップデートした記憶がない。
アップデート手順を備忘録として残す。
バージョン確認
まず、compose.yml内でのイメージのタグを確認する。
services:
<nginxのサービス名>:
image: nginx:stable
タグがstableで今のイメージのバージョンが分からないので、dockerコンテナ内のnginxでバージョンを確認する。
docker compose exec <nginxのサービス名> nginx -v
nginx version: nginx/1.30.2
今のstableの最新は1.30.3なので、イメージを更新する。
nginxイメージを更新する
Dockerイメージを更新するには、まず新しいイメージを取得する。
stableタグの最新を取得。
docker compose pull <nginxのサービス名>
コンテナを作り直す。
docker compose up -d
更新後のバージョンを確認する
docker compose exec <nginxのサービス名> nginx -v
nginx version: nginx/1.30.3
バージョンが1.30.3になっているので、更新された。
ついでに
現在、レスポンスヘッダのserverにnginxのバージョンが入るようになっている。
nginxのconfに以下を追記して、表示させないようにする。
server_tokens off;
構文確認して、nginxをリロードする。
docker compose exec <nginxのサービス名> nginx -t
docker compose exec <nginxのサービス名> nginx -s reload
これで、レスポンスヘッダからバージョンが消えた。