Naglowki bezpieczenstwa w nginx, wymagany sekret JWT na produkcji, npm ci
Deploy Polska Lokalnie / deploy (push) Successful in 14s

- security-headers.conf: nosniff, X-Frame-Options, Referrer-Policy, HSTS,
  Permissions-Policy i minimalny CSP; dolaczany w kazdym location z add_header,
  bez dublowania naglowkow Spring Security na /api/.
- docker-compose.prod.yml: APP_JWT_SECRET bez wartosci domyslnej - brak zmiennej
  zatrzymuje wdrozenie zamiast startu z jawnym sekretem.
- Obraz frontendu budowany przez npm ci z package-lock.json.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-23 14:12:52 +02:00
parent ac7a3a4efb
commit a6c2378cbc
4 changed files with 35 additions and 5 deletions
+16
View File
@@ -0,0 +1,16 @@
# Naglowki bezpieczenstwa dla wszystkich odpowiedzi. Dolaczane w bloku server ORAZ w kazdym
# location z wlasnym add_header - nginx nie dziedziczy add_header z server do takiego location.
# Przegladarka nie zgaduje typu pliku (obrazek nie zostanie wykonany jako HTML/skrypt).
add_header X-Content-Type-Options "nosniff" always;
# Serwis nie moze byc osadzony w ramce na obcej stronie (clickjacking).
add_header X-Frame-Options "SAMEORIGIN" always;
# Adres podstrony (np. z identyfikatorem rozmowy) nie wycieka do obcych serwisow.
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
# Tylko HTTPS przez rok. TLS terminuje nginx hosta; przy http://localhost przegladarka ignoruje naglowek.
add_header Strict-Transport-Security "max-age=31536000" always;
# Bez dostepu do kamery/mikrofonu/platnosci przegladarki; geolokalizacja tylko dla samego serwisu.
add_header Permissions-Policy "camera=(), microphone=(), payment=(), geolocation=(self)" always;
# Minimalna polityka CSP, ktora nie ogranicza skryptow ani zasobow aplikacji: blokuje wtyczki,
# podmiane <base> i osadzanie w obcych ramkach.
add_header Content-Security-Policy "object-src 'none'; base-uri 'self'; frame-ancestors 'self'" always;