You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

crossOrigin="use-credentials"使用遇阻,CORS跨域问题求助

解决跨域带凭证加载图片的问题

问题根源

你的配置存在两个关键缺失:

  1. 仅用--cors启动http-server时,默认返回的Access-Control-Allow-Origin是*,而跨域携带凭证(如HTTP Basic认证)时,不允许使用通配符*作为允许的源,必须指定具体的请求源(即你的8081应用地址)。
  2. 未配置Access-Control-Allow-Credentials: true响应头,浏览器不会在跨域请求中携带认证信息,也不会接受带凭证的响应。

修正后的启动命令

将http-server的启动命令修改为:

node ./bin/http-server --username test --password image --cors http://localhost:8081 --header "Access-Control-Allow-Credentials: true"

参数说明

  • --cors http://localhost:8081:指定允许跨域请求的源为你的8081应用地址,替代默认的*。
  • --header "Access-Control-Allow-Credentials: true":添加响应头,告知浏览器该服务允许跨域携带凭证。

验证步骤

  1. 用上述命令重启8080的http-server服务。
  2. 刷新8081应用页面,此时浏览器会自动在请求中携带HTTP Basic认证信息(test/image),图片将正常渲染,不会再出现CORS报错。

补充说明

  • 若你的8081应用使用的是其他端口或域名,需将--cors后的参数替换为对应的源地址。
  • 跨域携带凭证时,crossOrigin="use-credentials"属性必须存在,否则浏览器不会携带认证信息。

内容的提问来源于stack exchange,提问作者mruanova

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:40:15