Tech Blog

プログラミングと技術の情報サイト

Nginxのリバースプロキシ設定ガイド

Nginxのリバースプロキシ設定ガイド

Nginxはリバースプロキシとして広く使われており、フロントエンドとバックエンドの 橋渡し役を担います。SSL終端、ロードバランシング、静的ファイル配信を 一手に担える点が特徴です。

基本的なリバースプロキシ設定

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

SSL/TLSの設定(Let's Encrypt)

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com

Certbotが自動でNginx設定を書き換え、HTTPS化とリダイレクト設定を行ってくれます。

ロードバランシング

upstream backend {
    server 10.0.0.1:3000;
    server 10.0.0.2:3000;
    server 10.0.0.3:3000;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

静的ファイルのキャッシュ

location ~* \.(js|css|png|jpg|svg)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
}

まとめ

NginxはApacheよりも非同期I/Oモデルで高い並列処理性能を持ちます。 設定を変更したら nginx -t で構文チェックし、 systemctl reload nginx で無停止で反映できます。

← 記事一覧に戻る