# نمونه پیکربندی Nginx برای سامانه مکاتبات
# محل قرارگیری: /etc/nginx/sites-available/nameh
# فعال‌سازی: ln -s /etc/nginx/sites-available/nameh /etc/nginx/sites-enabled/
#
# نکته: HTTPS الزامی است، چون مرورگرها اجازه دسترسی به دوربین (اسکن) را
# فقط در اتصال امن می‌دهند. گواهی رایگان: sudo certbot --nginx -d letters.example.com

server {
    listen 80;
    listen [::]:80;
    server_name letters.example.com;

    # حجم مجاز آپلود (اسکن‌ها و پیوست‌ها)
    client_max_body_size 80M;

    # هدرهای امنیتی پایه (سرور خودش هم تنظیم می‌کند)
    add_header X-Content-Type-Options nosniff always;
    add_header Referrer-Policy same-origin always;

    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;

        # تولید PDF و آپلود اسکن ممکن است زمان‌بر باشد
        proxy_read_timeout 300s;
        proxy_send_timeout 300s;
    }

    # فونت‌ها و کتابخانه‌ها تغییر نمی‌کنند؛ کش طولانی‌تر
    location ~* ^/(vendor|fonts)/ {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}
