Üretim Sertleştirmesi
Kontrol listesi
| Konu | Durum |
|---|---|
helmet() |
Etkin |
x-powered-by |
Kapalı (app.disable) |
trust proxy |
Varsayılan false; ters vekil arkasında TRUST_PROXY ile atlama sayısı verilir |
| JSON gövde sınırı | 100 kb (yükleme yolları hariç) |
| CORS | Yalnızca CORS_ORIGIN listesi; wildcard yok |
| Geliştirme CORS genişletmeleri | NODE_ENV=production altında tamamen kapalı |
| JWT gizli anahtarı | Zorunlu; varsayılan gömülü değer yok |
| Hata gövdeleri | Jenerik; yapılandırma sızdırmaz |
| Sentry PII | sendDefaultPii: false |
| Denetim kaydı | Allowlist; ham gövde yazılmaz |
Ortam değişkeni beklentileri
Üretimde NODE_ENV=production zorunludur; Docker imajında bu değer
tanımlıdır. CORS_ORIGIN gerçek ön yüz adres(ler)ini içermelidir.
Ters vekil
Üretimde backend bir ters vekil arkasındadır ve dışarıdan
https://.../api/v1/... olarak görünür. Vekil öneki kaldırıp isteği uygulamaya
/... olarak iletir. Router'ların ikinci kez /api/v1 altına bağlanması, vekil
olmayan yerel ortamda da aynı adreslerin çalışmasını sağlar.
nginx tarafında proxy_pass bir değişken içerdiği için hedef yol otomatik
eklenmez; $request_uri açıkça eklenir. Böylece /api öneki kaybolmaz ve
çift yol (/api/v1/api/v1/...) oluşmaz.
Kurulum/kaldırma güvenliği
Kaldırma betiği harici MongoDB / MinIO / SMTP verisine dokunmaz.
--remove-code seçeneği deponun içinden çalıştırıldığında reddedilir.