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 で無停止で反映できます。