已配置CORS源域名仍报错:Access-Control-Allow-Origin缺失
问题描述
我的API无法接收CORS源配置中指定域名的请求,即便域名设置正确,仍会出现跨域请求被阻止的错误。
相关API代码
async function bootstrap() { const app = await NestFactory.create(AppModule); app.enableCors({ origin: 'https://finad.devluis.tech', allowedHeaders: [ 'Content-Type' ], credentials: true, }); await app.listen(process.env.PORT || 8888); }
相关Web应用代码
const submitForm = async (e: FormEvent) => { e.preventDefault(); await fetch(`https://api.finad.devluis.tech/user`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: `${name} ${lastName}`, email: email, password: password }) }); }
异常情况说明
若移除CORS配置中的allowedHeaders以及Web请求中的headers,跨域报错消失,但请求体丢失。同时OPTIONS和POST请求分别触发以下错误:
跨域请求被阻止:同源策略不允许读取远程资源 https://api.finad.devluis.tech/user。(原因:缺少CORS头‘Access-Control-Allow-Origin’)。状态码:404。
跨域请求被阻止:同源策略不允许读取远程资源 https://api.finad.devluis.tech/user。(原因:CORS请求未成功)。状态码:(null)。
相关环境信息
- API与Web应用均部署在Vercel
- API位于子域名api.finad.devluis.tech
- Web应用位于子域名finad.devluis.tech
内容的提问来源于stack exchange,提问作者Luís Felipe de Souza Silva
相关产品推荐
相关产品推荐

