Behind Jambotron's Caddy the app saw http while the browser used https, so same-domain requests looked cross-origin and @CrossOrigin answered 403 on /api/auth/signin. server.forward-headers-strategy=framework makes the app use X-Forwarded-Proto/Host; app.origin can be set via APP_ORIGIN. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
1.5 KiB
YAML
33 lines
1.5 KiB
YAML
spring:
|
|
application:
|
|
name: demo-decoupled
|
|
datasource:
|
|
url: jdbc:postgresql://localhost:5432/jambotron_decoupled?options=-c%20timezone=UTC
|
|
username: jambotron_admin
|
|
password: jambo_secret_pass
|
|
flyway:
|
|
url: jdbc:postgresql://localhost:5432/jambotron_decoupled?options=-c%20timezone=UTC
|
|
user: jambotron_admin
|
|
password: jambo_secret_pass
|
|
jpa:
|
|
properties:
|
|
hibernate:
|
|
jdbc:
|
|
lob:
|
|
non_contextual_creation: true
|
|
hibernate:
|
|
# Схемой управляет Flyway (db/migration), Hibernate только проверяет соответствие сущностям
|
|
ddl-auto: validate
|
|
|
|
app:
|
|
jwtSecret: ${JWT_SECRET:======================spring=back====================}
|
|
# Совпадает со сроком жизни cookie (24 ч), иначе UI считает пользователя вошедшим, а API отвечает 401
|
|
jwtExpirationMs: 86400000
|
|
jwtCookieName: demo-decoupled
|
|
# Разрешённый origin для запросов с другого домена (dev-сервер Angular). UI через nginx фронта CORS не касается
|
|
origin: ${APP_ORIGIN:http://localhost:4200}
|
|
|
|
# За обратным прокси (nginx фронта, Caddy Jambotron) приложение видит http. Без X-Forwarded-Proto/Host
|
|
# запросы со своего https-домена выглядят кросс-доменными, и CORS отвечает на них 403
|
|
server:
|
|
forward-headers-strategy: framework |