###############################################################################
# /etc/nginx/conf.d/example.com.conf
# 一个标准 server 块的入门模板：静态站 + /api 反向代理
###############################################################################

server {
    listen       80;
    server_name  example.com www.example.com;

    # 网站根目录
    root  /var/www/example;
    index index.html;

    # ---- 路由 1：根路径（页面） ----
    location / {
        try_files $uri $uri/ /index.html;     # SPA 兜底（详见 04 章）
    }

    # ---- 路由 2：静态资源 → 强缓存 1 年 ----
    location ~* \.(?:css|js|jpg|jpeg|png|gif|webp|svg|ico|woff2?)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
        access_log off;     # 静态资源不写 access log，省磁盘
    }

    # ---- 路由 3：API → 反向代理后端（详见 05 章） ----
    location /api/ {
        proxy_pass http://127.0.0.1:3000/;
        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;
    }

    # ---- 路由 4：健康检查 ----
    location = /healthz {
        access_log off;
        return 200 "ok\n";
        add_header Content-Type text/plain;
    }

    # ---- 错误页 ----
    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /usr/share/nginx/html;
    }
}
