За Caddy Jambotron приложение видело http, а браузер работал по https: запросы со своего домена выглядели кросс-доменными, и CORS отвечал 403 на /api/auth/signin.
За Caddy Jambotron приложение видело http, а браузер работал по https: запросы со своего домена выглядели кросс-доменными, и CORS отвечал 403 на `/api/auth/signin`.
- `server.forward-headers-strategy: framework` — приложение учитывает `X-Forwarded-Proto`/`Host`
- `app.origin` можно задать через `APP_ORIGIN`
- nginx фронта передаёт `X-Forwarded-Proto` от Caddy, а не свой `http`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
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>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
За Caddy Jambotron приложение видело http, а браузер работал по https: запросы со своего домена выглядели кросс-доменными, и CORS отвечал 403 на
/api/auth/signin.server.forward-headers-strategy: framework— приложение учитываетX-Forwarded-Proto/Hostapp.originможно задать черезAPP_ORIGINX-Forwarded-Protoот Caddy, а не свойhttp🤖 Generated with Claude Code