> ## Content Index
> Fetch the complete content index at: https://joho-todai.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Nginxエラーページのダークモード対応、賛成10対1の投票後も1年以上放置
- URL: https://joho-todai.com/nginx-error-page-dark-mode-proposal/
- Published: 2026-08-22T01:38:45.000Z
- Updated: 2026-08-22T01:39:07.000Z
- Description: Nginxエラーページへのダークモード対応が、コミュニティ投票で10対1の支持を得ながら1年半放置されている。変更はmetaタグ1行。Nginx自身が2021年に別のページへ同じ仕組みを適用済み。
- Author: 岬 徹
- Tags: Nginx, オープンソース, Linux, ウェブ開発

Nginxエラーページへのダークモード対応が、コミュニティ投票で10対1の支持を得ながら1年半放置されている。変更はmetaタグ1行。Nginx自身が2021年に別のページへ同じ仕組みを適用済み。

---

## 1行のmetaタグが通らない

Nginxのデフォルトエラーページは、白地に黒文字のシンプルなHTMLで構成されている。404や502といったHTTPエラーが発生すると、ブラウザにはこの素朴なページが表示される。OSやブラウザでダークモードを使っている場合でも、このページだけは真っ白なまま画面に現れる。

![](https://joho-todai.com/content/images/2026/08/a320cbe8d50431ecd28224b3b.webp)

2025年3月、anvmeというユーザーがNginxの公式リポジトリにPR（プルリクエスト、コードの変更提案）[#567を提出した](https://github.com/nginx/nginx/pull/567)。変更内容は`<meta name="color-scheme" content="light dark">`という**metaタグを1行追加**するもので、これによりブラウザがユーザーの配色設定に応じてエラーページの背景色を自動的に切り替えるようになる。

ダークモードを使っていれば暗い背景に、ライトモードならこれまで通り白い背景に表示される。このmetaタグはWHATWGのHTML仕様で定義されている標準的な仕組みで、非対応のブラウザは単にこのタグを無視する。既存の動作が壊れることはない。

9日後の3月17日、Nginx開発者のArut氏がPRをクローズした。

理由は短かった。「デフォルトエラーページはシンプルであるべき。気に入らなければ`error_page`ディレクティブで独自のページを設定すればよい」

このコメントには**👎175に対して👍28**という反応が付いた。

Nginxダークモード対応の経緯

| 2021年8月welcomeページにダークモード対応を追加Cソース内のエラーページ（404等）は対象外2024年2月コミット作者がNginxを離れフォークドゥニン氏、F5との対立でFreenginxを立ち上げ2025年3月PR #567提出エラーページへのmetaタグ1行追加を提案3月17日開発者が却下理由は「シンプルさを保つため」3月19日議論過熱でロック、公式投票を開始F5社員が賛否を問う投票ページを作成〜6月賛成591、反対60。返答なし投票結果への回答を求める声にも沈黙2026年8月進展なし公式回答なし。PRはクローズ・ロックのまま |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

※投票数は2026年8月時点。PRの変更内容はmetaタグ1行の追加

## 投票、そして沈黙

PRのクローズ後、コミュニティの反発は拡大した。PRのコメント欄には74件の議論が集まり、20人が参加。議論は過熱し、Nginxチームは3月19日にスレッドをロックした。

同日、F5社（Nginxの親会社）の従業員であるMaryna-f5氏が、GitHub Discussions上に投票ページを[作成した](https://github.com/nginx/nginx/discussions/584)。ダークモード対応の賛否を問う単純な投票で、ロックされたPR上での議論に代わる公式のフィードバック手段として設けられた。

結果は圧倒的だった。賛成（👍）が**591に対して反対60**。およそ10対1の比率で賛成が上回った。

ところが、この投票の後に何も起きなかった。

2025年6月5日、投票を受けた結論の公開を[求める投稿](https://github.com/nginx/nginx/discussions/722)が立てられた。Nginx開発者からの回答はない。同月27日には、PR提出者のanvme自身が改めて[マージの検討を求めた](https://github.com/nginx/nginx/discussions/759)。開発者側からの反応は、やはりなかった。

2026年8月に至るまで、投票結果に対する公式な回答も、PRの再検討も行われていない。元のPR #567はクローズ・ロックされたまま残っている。

## すでにやっていた

ここで見落とされがちな事実がある。

2021年8月、当時Nginxの中心的な開発者だったMaxim Dounin（マクシム・ドゥニン）氏が、Nginxのwelcomeページ（index.html）と50xエラーページ（50x.html）に`html { color-scheme: light dark; }`というCSSを追加する[コミットをマージしている](https://mailman.nginx.org/pipermail/nginx-devel/2021-August/014226.html)。**PR #567と同じ仕組み**で、目的も効果も同じ。ドゥニン氏は2024年にF5との運営方針の対立からNginxプロジェクトを離れ、フォークであるFreenginxを立ち上げている。

ではなぜ404ページには適用されないのか。

技術的な理由がある。welcomeページと50xページは`docs/html/`に格納された静的HTMLファイルで、Nginxのインストール時にそのまま配置される。一方、404や403といったHTTPエラーページはCソースコード（`ngx_http_special_response.c`）に直接埋め込まれており、ソフトウェアのビルド時にバイナリへ組み込まれる。同じ変更を適用するには、静的ファイルの編集ではなくCコードの修正が必要になる。

PR #567が提案していたのは、まさにそのCコードへの修正だった。

ユーザーから見れば、welcomeページの「Welcome to nginx!」も、404エラーの「Not Found」も、見た目はほぼ同じ素朴なHTMLページに映る。片方がダークモードに対応し、もう片方が対応しないことに技術的必然性はあっても、「シンプルさ」という却下理由との整合性は取りにくい。Nginx自身が2021年に「**シンプルさを損なわない**」と判断した事実が、3年半後の却下理由と矛盾している。

## 閉じたドア

この問題は、Nginx単体のバグレポートの枠を超えて広がっている。Linuxディストリビューションの一つであるDebianでは、本家Nginxが却下したパッチをDebian側で独自に適用するよう求めるバグ報告が提出された。PR #567の提出者anvmeは、もう一つの主要ウェブサーバーであるApache httpdにも[同様のPR](https://github.com/apache/httpd/pull/521)を出している。Nginxのバグ追跡システムにはチケット#2434として、エラーページ全体へのダークモード拡張が要望されている。

問題の核はダークモードそのものではない。コミュニティが手順を踏み、投票で明確な支持を示し、**技術的な反論もないまま**1年以上放置されている、というプロセスの断絶にある。

Nginxは世界のウェブサイトの大きな割合を支えるインフラであり、F5 Networks社が開発を主導している。オープンソースプロジェクトのメンテナが変更を拒否する権限を持つこと自体は健全な仕組みで、すべてのPRがマージされるべきではない。だが、自らが設置した投票の結果に対して説明すら行わないのは、権限の行使とは呼べない。

metaタグ1行の話に1年半を費やしている。技術的に解決済みの問題を、誰が、なぜ止めているのか。その説明が出てくる気配は、今のところない。

### 関連記事

- [KDE、DolphinにBtrfsスナップショットを統合。KIO Snapshot 1.0](https://joho-todai.com/kde-dolphin-btrfs-snapshots-kio-snapshot-1-0/)
- [Linux 7.3ネットワーク開発、AI生成パッチで「完全に圧倒」。MetaのLLM予算で対抗へ](https://joho-todai.com/linux-73-network-development-ai-patches-meta-llm/)
- [Linux 7.3、VRAM管理パッチがカーネル本流入り。次はオーバーコミット改善](https://joho-todai.com/linux-7-3-vram-management-kernel/)
- [Linux 7.2リリース。キャッシュを理解するCPUスケジューラが到着](https://joho-todai.com/linux-72-cpu-scheduler-cache-improvements/)
- [GNOME 51ベータ公開。ファイルマネージャに「新規ドキュメント」が復活](https://joho-todai.com/news-gnome-51-beta-new-document-feature/)
- [Debian、誕生から33年。AI利用の是非を問う投票と重なった記念日](https://joho-todai.com/news-debian-33-years-ai-voting-anniversary/)
- [古参Slackware系ディストロ、CPUスケジューラを換えて復活](https://joho-todai.com/news-slackware-distro-new-cpu-scheduler/)
- [rsync 3.5、セキュリティ修正33件の「異例」リリース](https://joho-todai.com/rsync-3-5-security-fixes-release/)
- [Linux 7.2、GPUスケジューラの新方式をリリース直前に撤回](https://joho-todai.com/linux-gpu-scheduler-rollback/)
- [ChatGPTデスクトップがLinuxに対応。プレビュー公開](https://joho-todai.com/chatgpt-desktop-linux-preview/)