使い方
- フォームの入力既存の nginx.conf
項目を選ぶ・設定を貼る
- proxy_pass・locationnginx -t の代わりでない
構文と確認点を調べる
- nginx.conf
整形した設定を出す
「設定を作る」で、用途(静的サイト・リバースプロキシ・SPA・PHP-FPM)とドメイン名を選びます。
HTTPS・www の統一・圧縮・キャッシュ・セキュリティヘッダー・アクセス制限などを選ぶと、右下に設定が出ます。入力が不正なときは項目ごとに理由が出ます。
「コピー」か「保存」で取り出し、サーバーで `sudo nginx -t` を実行してから反映します。
手元の設定を見直すときは「設定をチェック」に貼り付け(「サンプルで試す」でも試せます)、「構文」と「確認したい点」を読みます。
読みやすく揃えたいときは「整形」でインデントを選んで取り出します。
できること
用途別のフォーム
静的サイト・リバースプロキシ(upstream・WebSocket・タイムアウト・X-Forwarded-*)・SPA(try_files)・PHP-FPM から選べます。HTTP→HTTPS の転送・www の統一・ACME の確認パス・gzip / brotli・静的ファイルのキャッシュ・allow/deny・Basic 認証の雛形・limit_req・client_max_body_size に対応します。
TLS は Mozilla の intermediate 相当
TLS 1.2/1.3 と暗号スイートは Mozilla Server Side TLS の intermediate(版 5.7)を元にしています。2026-10-15 時点の実装で、最新は Mozilla の生成ツールで確認してください。
入力を検査してから出力
ドメイン・パス・転送先・サイズ・IP は決まった形だけを受け付け、`;` や改行が入ってほかの命令になることを防ぎます。
断定しない「確認したい点」
proxy_pass の末尾の / ・alias と root の取り違え・if の使い方・location の優先順位・add_header の継承・server_name の重複・listen 443 に ssl がない・HSTS の preload・autoindex・server_tokens・古い TLS や弱い暗号を、行番号つきで挙げます。
字句解析で構文を確認
括弧の不一致・; の抜け・引用符の閉じ忘れ・未知のディレクティブを見つけ、構造(server と location の階層)を一覧にします。入力は 30 万文字・2 万ディレクティブ・入れ子 64 段までです。
送信しない
貼った設定はブラウザの中だけで処理し、サーバーへ送りません。nginx も実行しません。
こんなときに
- Node.js・Python・Go のアプリの前に置くリバースプロキシの設定を、WebSocket やタイムアウトも含めて作りたい
- HTTP から HTTPS への 301 転送と www の統一を、Let's Encrypt の更新を邪魔しない形で書きたい
- 渡された nginx.conf の括弧の閉じ忘れ・セミコロン忘れを探したい
- proxy_pass の末尾のスラッシュ、alias と root、location の優先順位でパスがずれていないか確かめたい
- 子ブロックの add_header で、親のセキュリティヘッダーが消えていないか調べたい
- チームで書き方がばらばらな設定のインデントを揃えたい
対応状況
| 機能 | 対応 | 補足 |
|---|---|---|
| フォームからの設定の生成(静的・プロキシ・SPA・PHP-FPM・HTTPS 転送・ヘッダー・制限) | 対応 | — |
| 貼り付けた設定の構文チェック(括弧・セミコロン・引用符・未知のディレクティブ) | 一部対応 | 字句と括弧の対応までです。ディレクティブを置ける場所や引数の個数・値の正しさは検査しません |
| よくある誤りの指摘(proxy_pass・alias・location・add_header・HSTS・TLS など) | 一部対応 | 代表的な書き方を目安に挙げます。誤検出も見逃しもあり、断定ではありません |
| インデントの整形 | 対応 | — |
| 実際の nginx -t による検査 | 非対応 | nginx は実行しません。反映前に必ず自分のサーバーで nginx -t を実行してください |
| include の解決・ほかのファイルの読み込み | 非対応 | include の先は読まず、パスだけを一覧にします |
| サーバーへの接続・証明書の取得・実際の応答の確認 | 非対応 | 通信はしません |
| Lua などのコードブロックの中身の検査 | 非対応 | そのまま残し、検査しません |
制限・注意事項
- 貼り付けは 30 万文字・2 万ディレクティブ・入れ子 64 段までです。
- 出力は雛形です。証明書のパス・dhparam・PHP-FPM のソケット・ユーザー名とパスワードのファイルは、自分の環境に合わせてください。
- brotli は nginx に ngx_brotli モジュールが必要です。http2 on; は nginx 1.25.1 以降です。
- PHP を実行させない deny は、アップロード先などの名前を決め打ちにして、その名前のディレクトリの下の .php だけを対象にしています(既定: uploads upload files media images)。名前はフォームで変えられますが、.phtml など .php 以外の拡張子や、別名のディレクトリは対象外です。
- Basic 認証と limit_req は server に書き、すべての location に効きます。HTTP から HTTPS への転送の server は認証の対象外です(認証情報を平文の HTTP で送らないため)。
- TLS の設定は Mozilla の intermediate 相当です。古いブラウザや OS に合わせる設定ではありません。
- CSP は雛形をコメントで出すだけで、有効にはしません。
- 「確認したい点」は字句解析による目安で、正しい設定を誤って指摘することも、問題を見逃すこともあります。
プライバシーと安全性
設定の生成・解析・整形はすべてお使いのブラウザの中で行われます。入力した設定・ドメイン名・生成した設定がサーバーへ送信・保存されることはなく、nginx も実行しません。
よくある質問
nginx のリバースプロキシの設定はどう書きますか?
nginx で HTTP を HTTPS に転送するには?
proxy_pass の末尾にスラッシュを付けると何が変わりますか?
add_header を書いたのに、親のヘッダーが消えるのはなぜですか?
nginx -t の代わりに使えますか?
貼った nginx.conf はサーバーに送られますか?
関連ツール
robots.txt テスター
robots.txt を貼り付けると、指定した URL が Googlebot や AI クローラーに「許可」か「ブロック」かと、どの行のルールが効いたかがすぐ分かります。つづりの誤りや Google が無視する命令も指摘します。
MIME・Content-Type Studio
拡張子と MIME を相互に検索でき、Content-Type ヘッダーの誤りを指摘し、ドロップしたファイルの拡張子・ブラウザの file.type・中身の 3 つの食い違いを調べます。サーバー設定の下書きも作れます。
証明書・CSR・PEM Studio
PEM・DER(.cer/.crt)・CSR・PKCS#7(.p7b)を読み、Subject・有効期限(残り日数)・SAN・公開鍵・署名アルゴリズム・SHA-256 フィンガープリントなどを一覧にします。チェーンの並び順と署名も確かめ、PEM と DER を変換できます。すべてブラウザの中で処理し、秘密鍵は読み込みません。
秘密情報スキャナー(Secret Scanner)
コードや設定ファイルを貼る・ドロップするだけで、公開前に消すべき秘密情報の候補を行番号つきで一覧します。値は既定で伏せ字、*** に置き換えたコピーも作れます。あくまで補助ツールで、検出漏れがないことは保証しません。
curl解析・コード生成
Chrome や Firefox の「cURL としてコピー」を貼ると、メソッド・URL・ヘッダー・Cookie・本文を表にし、12 種類のコードへ変換します。リクエストは送らず、すべてブラウザの中で処理します。Authorization や Cookie は共有前に伏せられます。
Docker Compose Studio
docker run のコマンドを compose.yaml に、compose.yaml を docker run に変換します。compose.yaml は構文・Compose Specification・よくある誤りを調べ、セキュリティ上の確認点も一覧にします。コンテナの起動やイメージの取得はせず、入力は端末の外へ送りません。
最終更新: