diff --git a/src/webui/src/middleware/cors.ts b/src/webui/src/middleware/cors.ts index 8b91ddfa..3294d073 100644 --- a/src/webui/src/middleware/cors.ts +++ b/src/webui/src/middleware/cors.ts @@ -1,10 +1,16 @@ import type { RequestHandler } from 'express'; // CORS 中间件,跨域用 -export const cors: RequestHandler = (_, res, next) => { - res.header('Access-Control-Allow-Origin', '*'); +export const cors: RequestHandler = (req, res, next) => { + const origin = req.headers.origin || '*'; + res.header('Access-Control-Allow-Origin', origin); res.header('Access-Control-Allow-Methods', '*'); res.header('Access-Control-Allow-Headers', '*'); res.header('Access-Control-Allow-Credentials', 'true'); + + if (req.method === 'OPTIONS') { + res.sendStatus(204); + return; + } next(); }; \ No newline at end of file