pjt222/agent-almanac/configure-nginx
- community
Checking that the SKILL.md file is still in the repository.
NginxをWebサーバーおよびリバースプロキシとして設定する。静的ファイル配信、アップストリームサービスへの リバースプロキシ、Let's EncryptによるSSL/TLS終端、locationブロック、ロードバランシング、 レート制限、およびセキュリティヘッダーをカバーする。本番環境での静的ファイル配信、バックエンド サービス(Node.js、Python、R/Shiny)へのリバースプロキシ、SSL/TLSの終端、インスタンス間の ロードバランシング、またはエンドポイント強化のためのレート制限とセキュリティヘッダーの追加に使用する。
Install
npx vskill@latest install pjt222/agent-almanac/configure-nginxSKILL.md
Nginxの設定
SSL終端とセキュリティ強化を備えたWebサーバーおよびリバースプロキシとしてNginxをセットアップする。
使用タイミング
- 本番環境での静的ファイル(HTML、CSS、JS)の配信
- バックエンドサービス(Node.js、Python、Go、R/Shiny)へのリバースプロキシ
- Let's Encrypt証明書によるSSL/TLSの終端
- 複数のバックエンドインスタンスへのロードバランシング
- レート制限とセキュリティヘッダーの追加
入力
- 必須: デプロイ先(Dockerコンテナまたはベアメタル)
- 必須: プロキシ先のバックエンドサービス(host:port)
- 任意: SSL用ドメイン名
- 任意: 静的ファイルディレクトリ
手順
ステップ1: 基本リバースプロキシ
nginx.conf:
Docker Composeサービス:
期待結果: ポート80へのリクエストがappサービスに転送される。
ステップ2: 静的ファイル配信
ステップ3: Let's EncryptによるSSL/TLS
certbotのwebrootメソッドを使用する:
certbot付きDocker Compose:
初回証明書の取得:
期待結果: 有効なLet's Encrypt証明書でHTTPSが動作する。
失敗時: DNSがサーバーを指していることを確認する。ACMEチャレンジのためにポート80が開いていることを確認する。
ステップ4: セキュリティヘッダー
ステップ5: レート制限
ステップ6: ロードバランシング
| メソッド | ディレクティブ | 動作 | |
|---|---|---|---|
| ラウンドロビン | (デフォルト) | 均等分配 | |
| 最少接続 | least_conn | 最も負荷の少ないサーバーにルーティング | |
| IPハッシュ | ip_hash | スティッキーセッション | |
| 重み付き | server app:3000 weight=3 | 比例配分 |
ステップ7: 設定のテスト
期待結果: nginx -tが構文OKを報告する。ヘッダーにセキュリティヘッダーが含まれる。
バリデーション
- [ ]
nginx -tが設定が有効であると報告する - [ ] HTTPがHTTPSにリダイレクトされる(SSL有効時)
- [ ] バックエンドサービスがプロキシ経由で到達可能
- [ ] レスポンスにセキュリティヘッダーが存在する
- [ ] 過剰なリクエストでレート制限が発動する
- [ ] SSL Labsテストでa+評価を取得する(公開の場合)
よくある落とし穴
- `proxy_set_header Host`の不足: バックエンドが誤ったHostヘッダーを受信し、バーチャルホストとリダイレクトが壊れる
- `location`の順序が重要: Nginxは最も具体的なマッチを使用する。完全一致(
=)> プレフィックス(^~)> 正規表現(~)> 一般プレフィックス - SSL証明書の更新:
certbot renewを実行してNginxをリロードするcronまたはタイマーをセットアップする - 大きなリクエストボディ: デフォルトの
client_max_body_sizeは1MB。ファイルアップロード用に増やす:client_max_body_size 50m; - WebSocketプロキシ: 追加ヘッダーが必要。パターンは
configure-reverse-proxyを参照
関連スキル
configure-reverse-proxy- WebSocketやTraefikを含むマルチツールプロキシパターンsetup-compose-stack- Nginxを含むcomposeスタックdeploy-searxng- SearXNGのフロントエンドとしてNginxを使用configure-ingress-networking- Kubernetes Ingress(NGINX Ingress Controller)
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingi18n/ja/skills/configure-nginx/SKILL.md
Popularity
- Repository stars
- 20
- Repository forks
- 2
- 7-day trend score
- 15
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/pjt222/agent-almanac/configure-nginx)