Tauri应用请求遭CORS拦截,Django REST Framework配置无效求助
解决Tauri请求的CORS拦截问题
问题说明
遇到的错误:
https://tauri.localhost' 已被CORS策略拦截:预检响应中,Access-Control-Allow-Headers不允许请求头字段access-control-allow-origin。
已将https://tauri.localhost加入API的CORS配置,但问题依旧,当前配置代码:
CORS_ALLOWED_ORIGINS = [ "http://localhost:3001", "http://localhost:3003", "tauri://localhost", "https://tauri.localhost"," ]
修复方案
1. 修正配置语法错误
你的CORS配置末尾多了一个无效的双引号,这会导致配置解析失败,修正后:
CORS_ALLOWED_ORIGINS = [ "http://localhost:3001", "http://localhost:3003", "tauri://localhost", "https://tauri.localhost" ]
2. 移除错误的请求头
错误核心是前端请求错误地将access-control-allow-origin作为请求头发送——这个字段属于响应头,不是请求头。检查你的Tauri请求代码,删除手动添加的access-control-allow-origin请求头。
3. 完善CORS响应头配置
确保API的预检(OPTIONS)响应包含以下关键头:
Access-Control-Allow-Origin:匹配请求源(如https://tauri.localhost)Access-Control-Allow-Methods:覆盖你实际使用的请求方法(GET/POST/PUT等)Access-Control-Allow-Headers:仅包含请求中真实用到的自定义头,不要包含access-control-allow-origin
4. 确认Tauri源的完整性
Tauri应用可能使用tauri://localhost和https://tauri.localhost两个源,确保你的CORS配置同时包含这两项。
内容的提问来源于stack exchange,提问作者tisanyada
相关产品推荐
相关产品推荐

