fix(cors): require explicit allowed origins

This commit is contained in:
2026-11-04 13:32:50 +08:00
parent 9ab7b10e3c
commit bd8c619bfb
5 changed files with 143 additions and 48 deletions
+16
View File
@@ -43,6 +43,22 @@ conda run -n server uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
conda activate server
```
## CORS 配置
后端通过 `.env` 或进程环境变量中的 `CORS_ALLOWED_ORIGINS` 设置允许的浏览器页面来源,
进程环境变量优先。必须使用英文逗号分隔的明确来源,不能填写 `*`,例如:
```dotenv
CORS_ALLOWED_ORIGINS=https://demo.waternetwork.cn,http://192.168.1.133,https://192.168.1.133,http://192.168.1.110,https://192.168.1.110
```
未设置时默认只允许本机 `5173`、`15173` 开发来源。来源需包含协议、域名或 IP、端口,
不带路径;非默认端口须逐项列出。CORS 匹配浏览器页面来源,不是 Nginx 连接 IP 或域名解析结果。
保留跨域凭据支持及 `Authorization`、`X-Project-Id` 请求头,接口认证和权限校验继续生效。
修改后需重启后端进程。容器部署需同步更新宿主机的受控 `backend.env`;
使用 Compose `env_file` 注入时,需要重新创建容器才能读取新值,CI/CD 不会自动同步本地 `.env`。
## 常用命令
```bash