-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting
Real issues encountered and how they were resolved.
Cloud Run terminates TLS and forwards plain HTTP, so the app generated http:// URLs (browser blocks the mixed content). Fix: server.forward-headers-strategy=framework in the deployed profiles, so X-Forwarded-Proto/Host are honored. It's scoped to deployed profiles — enabling it globally strips X-Forwarded-For before the rate limiter and breaks the per-IP tests.
Vite <script type="module"> is fetched in CORS mode, so the browser sends an Origin even for same-origin requests. Spring's CORS filter rejected it because the deployed origin wasn't allow-listed. Fix: add the service's own origin to CORS_ALLOWED_ORIGINS.
JWT_SECRET must be ≥ 32 bytes for HS256; the app fails fast otherwise. Provide it via Secret Manager in prod; bootRun and the test task inject a dev value.
The Artifact Registry API needs the project ID, not the project number — use the project ID for the Terraform provider.
Point buildx state at a writable dir: BUILDX_CONFIG=/tmp/buildx docker buildx build ....
The Redis health indicator fails when there's no Redis (the minimal deploy uses the in-memory limiter). It's disabled with management.health.redis.enabled=false.
With trust-forwarded-for=false, the limiter keys on the proxy's address rather than the end user. See Rate Limiting for how to wire the real client IP.
Getting started
How it works
Operations
Reference