• Skip to main content
  • Skip to primary sidebar

bloggggggggggggggg

// コードと趣味の境界線上

Nginxリバースプロキシの極意 — 全部の入り口を一つに

自宅サーバーで5つも6つもサービスを動かしてると、ポート番号でアクセスするのが面倒になる。Jellyfinは:8096、Giteaは:3000、Grafanaは:3001…。全部覚えられない。

リバースプロキシで全部の入り口を一つにまとめるのがスマートな解決策だ。Nginxを玄関に置いて、ドメイン名でアクセス先を振り分ける。`jellyfin.mame-mame.org`はJellyfinへ、`git.mame-mame.org`はGiteaへ——全部443番ポートでOK。

Nginxリバースプロキシの基本設定:

server {
    listen 443 ssl http2;
    server_name jellyfin.mame-mame.org;

    ssl_certificate     /etc/letsencrypt/live/mame-mame.org/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mame-mame.org/privkey.pem;

    location / {
        proxy_pass http://192.168.20.10:8096;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

重要な設定項目:

  • `proxy_set_header` — バックエンドに元のリクエスト情報を伝える。これを忘れるとバックエンド側で「全部Nginxからのリクエストに見える」状態になり、IP制限やログが機能しなくなる。
  • バッファリング設定 — `proxy_buffering off;` が必要なケース(WebSocket、SSE、ストリーミング)。Jellyfinやチャットアプリでは必須。
  • タイムアウト — 長い処理が必要なバックエンド用に`proxy_read_timeout`を延ばす。

さらにワイルドカードSSL証明書(Let’s Encryptで`*.mame-mame.org`を取得)を使えば、新しいサービスを追加するたびに証明書を発行し直さなくていい。Nginx Proxy Managerを使えば、これらを全部GUIで管理できてさらにラク。

リバースプロキシを導入してから、「このサービスは何番ポートだっけ?」がなくなった。全部のサービスが`https://サービス名.mame-mame.org`でアクセスできる幸せ。

← Ansibleで構成管理を自動化する — サーバー設定をコードに
HTTPSと証明書管理 — Let’s Encryptの恩恵を最大限に →

Primary Sidebar

最近の投稿

  • インフラエンジニアのキャリアパス — 手動運用からSREへ
  • 障害対応の心得 — 本番で焦らないために
  • 監視設計の基本 — 何をどう見るべきか
  • ログ管理 — ELKスタック入門
  • HTTPSと証明書管理 — Let’s Encryptの恩恵を最大限に

アーカイブ

  • May 2026

カテゴリー

  • AI
  • Linux
  • OS
  • Windows
  • インフラ・DevOps
  • おうちサーバー
  • サーバー・インフラ
  • ツール・環境
  • プログラミング
  • 未分類
  • 開発哲学

最近のコメント

No comments to show.

© 横山鉄工所 & まめたろう重工