diff --git a/src/config.py b/src/config.py index 7ba85b3..052285a 100644 --- a/src/config.py +++ b/src/config.py @@ -138,7 +138,12 @@ class Settings(BaseSettings): # CORS allowed origins for the web chat interface (Gitea Pages, etc.) # Set CORS_ORIGINS as a comma-separated list, e.g. "http://localhost:3000,https://example.com" - cors_origins: list[str] = ["*"] + cors_origins: list[str] = [ + "http://localhost:3000", + "http://localhost:8000", + "http://127.0.0.1:3000", + "http://127.0.0.1:8000", + ] # Trusted hosts for the Host header check (TrustedHostMiddleware). # Set TRUSTED_HOSTS as a comma-separated list. Wildcards supported (e.g. "*.ts.net"). diff --git a/src/dashboard/app.py b/src/dashboard/app.py index 4e24702..c5021ab 100644 --- a/src/dashboard/app.py +++ b/src/dashboard/app.py @@ -486,13 +486,10 @@ app = FastAPI( def _get_cors_origins() -> list[str]: """Get CORS origins from settings, with sensible defaults.""" origins = settings.cors_origins - if settings.debug and origins == ["*"]: - return [ - "http://localhost:3000", - "http://localhost:8000", - "http://127.0.0.1:3000", - "http://127.0.0.1:8000", - ] + if "*" in origins and not settings.debug: + logger.warning( + "CORS wildcard '*' used in non-debug mode; set CORS_ORIGINS to restrict allowed origins" + ) return origins