我在 cloudflare 上挂了一个域名的 dns
具体网页请求如下:nft.dingran.ga->api.dinran.ga
nft 页面中有一个 ajax 请求从 api.dingran.ga 拿取数据。api.dingran.ga/api 其实是一个反代到 docker 的 nginx 反代实例。
然后郁闷的点就来了: 当 nft 是 http 协议时,这个 ajax 请求可以正常发起,返回头是有 access-control-allow-origin: *的(后台服务也是我写的,我做了跨域处理) 但是当变为 https 协议后,ajax 返回头就没有 access-control-allow-origin: *,会导致跨域问题,无法访问,求解我应该怎么操作
1
roiding OP https 发现请求的响应会变成 301 重定向,故而导致失败。
就不是很理解,我同样的地址浏览器可以正常请求,怎么从 https 中请求 https 时就变成了 301 |
2
novolunt 2022-07-13 16:07:02 +08:00
不能强制添加响应头,origin: * 和 credentials: "true"不能同时启用
corsPolicy: allowCredentials: true allowHeaders: - access-control-allow-headers - access-control-allow-origin - content-type - Accept-Language allowMethods: - GET - POST - PUT - DELETE - PATCH - OPTIONS allowOrigins: - regex: 'https?:\/\/dingran.ga|https?:\/\/.*[.]dingran.ga' maxAge: 300s |