Napraw logowanie z domeny produkcyjnej i odpornosc stacku na restart
Deploy Polska Lokalnie / deploy (push) Failing after 0s

Logowanie z https://polskalokalnie.pl konczylo sie bledem 403, a nie 401 -
zadanie w ogole nie docieralo do logiki uwierzytelniania. Nginx terminuje TLS
i przekazuje ruch do backendu po http, wiec Spring widzi schemat http, podczas
gdy przegladarka przysyla Origin z https. Schematy sie roznia, wiec zadanie
jest traktowane jako cross-origin i sprawdzane wzgledem listy dozwolonych
originow, na ktorej byly wylacznie adresy lokalne i LAN. Frontend pokazywal
przy tym generyczny komunikat, bo odpowiedz CORS nie jest JSON-em z pole
"message".

Dodanie domeny produkcyjnej do listy przywraca poprawne zachowanie: zle haslo
zwraca 401 z czytelnym komunikatem, poprawne 200.

Poza tym:

- name: polskalokalnie w obu plikach compose. Bez tego Compose wyprowadza nazwe
  projektu z nazwy katalogu, a na serwerze kazda z trzech aplikacji siedzi w
  katalogu "app" - komenda bez -p wchodzila w stack innej aplikacji i podmieniala
  w nim serwis backend.
- restart: unless-stopped na serwisach produkcyjnych. Kontenery polskalokalnie
  mialy polityke "no" i jako jedyne na serwerze nie wstawaly po reboocie.
  W pliku deweloperskim swiadomie tego nie ma - lokalnie kontenery nie powinny
  startowac same przy kazdym uruchomieniu Dockera.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-04 01:37:35 +02:00
parent ee83ac43c4
commit cc96c06c84
3 changed files with 16 additions and 1 deletions
@@ -31,7 +31,9 @@ public class WebConfig implements WebMvcConfigurer {
"http://172.29.*.*:[*]",
"http://172.30.*.*:[*]",
"http://172.31.*.*:[*]",
"http://*.local:[*]")
"http://*.local:[*]",
"https://polskalokalnie.pl",
"https://www.polskalokalnie.pl")
.allowedMethods("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS")
.allowedHeaders("*");
}
+8
View File
@@ -1,5 +1,11 @@
# Nazwa projektu na sztywno: bez tego Compose bierze ja z nazwy katalogu ("app"),
# a na serwerze kazda aplikacja siedzi w katalogu o tej samej nazwie - komenda bez -p
# trafialaby wtedy w stack innej aplikacji.
name: polskalokalnie
services:
db:
restart: unless-stopped
image: postgres:16-alpine
environment:
POSTGRES_DB: ${POSTGRES_DB:-polskalokalnie}
@@ -14,6 +20,7 @@ services:
retries: 5
backend:
restart: unless-stopped
build:
context: ./backend
environment:
@@ -37,6 +44,7 @@ services:
condition: service_healthy
web:
restart: unless-stopped
build:
context: .
dockerfile: nginx/Dockerfile
+5
View File
@@ -1,3 +1,8 @@
# Nazwa projektu na sztywno: bez tego Compose bierze ja z nazwy katalogu ("app"),
# a na serwerze kazda aplikacja siedzi w katalogu o tej samej nazwie - komenda bez -p
# trafialaby wtedy w stack innej aplikacji.
name: polskalokalnie
services:
db:
image: postgres:16-alpine