閱界食譜今天吃什麼,先來這裡看看
代碼片段

Nginx 反向代理配置

把一個域名代理到本地服務的標準寫法。

範本正文

server {
    listen 443 ssl;
    server_name app.example.com;

    ssl_certificate     /etc/nginx/certs/app.crt;
    ssl_certificate_key /etc/nginx/certs/app.key;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;

        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 Upgrade           $http_upgrade;
        proxy_set_header Connection        "upgrade";

        proxy_read_timeout 60s;
    }

    location /api/ {
        proxy_pass http://127.0.0.1:8100;
    }
}

怎麼用

新增子域名或上線新服務時複製修改。

使用要點

  • 漏掉 X-Forwarded-Proto,後端會以為用戶訪問的是 http,容易生成錯的跳轉連結。
  • 改完先 nginx -t 再 reload,避免配置錯導致整站掛掉。

同類範本

Nginx 反向代理配置 · 閱界食譜