preflight 相关问题

预检是一种HTTP OPTIONS请求,浏览器(自动发送)在尝试某些类型的跨源请求之前发送给服务器 - 以确定服务器是否已选择接收这些类型的请求。

如何让 Backblazen B2 响应 Access-Control-Allow-Origin?

我正在尝试使用 JavaScript 从设置为 allPrivate 的 Backblaze 存储桶中获取图像。 如果我像这样获取图像,我有一个正确的授权代码,该代码可以工作: 回声' 我正在尝试使用 JavaScript 从设置为 allPrivate 的 Backblaze 存储桶中获取图像。 我有一个正确的授权代码,如果我像这样获取图像,它就可以工作: echo '<img src="' . $_SESSION["downloadUrl"] . '/file/' . $bucketName . '/' . $file[0] . '?Authorization=' . $_SESSION["authorizationToken"] . '" />'; 但是,当我尝试使用 javascript 时,它失败了: const myHeaders = new Headers(); myHeaders.append("Authorization", "<?php echo $_SESSION["authorizationToken"]; ?>"); const response = await fetch("<?php echo $_SESSION["downloadUrl"] . '/file/' . $bucketName . '/test/test.avif'?>" , { method: 'GET', headers: myHeaders } ); if(response.ok) { const blob = await response.blob(); // Convert to a blob for use as an image const imageUrl = URL.createObjectURL(blob); // Create a local URL for the blob // Display the image b2.src = imageUrl; } else { console.error('Error fetching image:', response.statusText); } 问题是 Backblaze 没有将 Access-Control-Allow-Origin 标头添加到选项/预检请求中。我已经使用命令行设置了 B2 CORS 规则。这就是我目前针对此存储桶的 CORS 规则: "corsRules": [ { "allowedHeaders": [ "authorization", "x-bz-file-name", "x-bz-content-sha1", "x-bz-info-author" ], "allowedOperations": [ "b2_upload_file" ], "allowedOrigins": [ "https://example.com" ], "corsRuleName": "uploadRules", "exposeHeaders": [ "x-bz-content-sha1" ], "maxAgeSeconds": 3600 }, { "allowedHeaders": [ "range", "referer", "authorization", "sec-ch-ua", "sec-ch-ua-mobile", "sec-ch-ua-platform", "user-agent" ], "allowedOperations": [ "b2_download_file_by_id", "b2_download_file_by_name" ], "allowedOrigins": [ "https://example.com" ], "corsRuleName": "downloadRules", "exposeHeaders": [ "x-bz-content-sha1", "access-control-allow-origin" ], "maxAgeSeconds": 3600 } ] 我认为我已经正确设置了所有内容,但我一生都无法弄清楚如何让 B2 发送 access-control-allow-origin 标头。我缺少什么? B2 支持预检请求吗? 读完此页后,它说我一直在尝试做的事情是不可能的: 由于浏览器被明确要求从 CORS 请求中剥离用户标头,因此当这些请求来自浏览器时,无法在私有存储桶的下载请求中使用 AUTHORIZATION 标头。 https://www.backblaze.com/docs/cloud-storage-cross-origin-resource-sharing-rules#cors-on-private-buckets

回答 1 投票 0

AJAX 预检选项请求给出 CORS 错误,但没有预检工作完美

我有一个 SAP 服务器和一个从 SAP 调用 Web 服务的 JavaScript。 因此,到目前为止,我一直在通过 CORS/JSONP 调用 SAP Web Services,并且两者都在工作,我将获得用户 ID 和密码弹出窗口...

回答 1 投票 0

为什么我会在服务器到服务器 POST 请求之间收到预检/选项请求

请我从我的 Web 服务器(Node.js)向另一个 Web 服务器(Php)发出 POST 请求。如果

回答 1 投票 0

如何手动添加响应访问控制允许标头到预检请求

我有一个快速服务器(“express”:“^4.19.2”)设置并使用此自定义函数来添加响应标头: const allowedCORS = (req: 请求, res: 响应, next: NextFunction):...

回答 1 投票 0

角度选项飞行前请求被 codeigniter 4 解释为路线

发生什么事了? 当我以角度提交表单时,会调用 codeigniter 4 后端。出现以下错误: { "title": "CodeIgniter\Exceptions\PageNotFoundExce...

回答 2 投票 0

如何配置 traefik 来处理 CORS 预检请求?

我有一个非常简单的 FastAPI-Traefik-Docker 设置,您可以在这里找到:https://github.com/mshajarrazip/fastapi-traefik-docker-cors 只需执行 docker-compose up -d 即可运行 FastAPI 和 traefik se...

回答 3 投票 0

Apigee 飞行前选项请求

我创建 API 代理并选中“为您的 API 启用直接浏览器访问 - 允许通过 CORS 来自浏览器的直接请求”复选框。但我的 OPTIONS 请求仍然失败...

回答 2 投票 0

Chrome 未在“网络”选项卡中显示 OPTIONS 请求

我的 Web 客户端应用程序正在通过 fetch API 设置 HTTP POST 请求。 我看到 OPTIONS 预检请求是通过调试代理(Charles Proxy)发送的,但它们没有显示在 Google Chr 中...

回答 5 投票 0

CORS 问题 - 预检请求不允许重定向

我希望得到帮助来解决我已经困扰了一段时间的问题。我正在使用 React 和 NodeJS Express 开发一个 Web 应用程序。将后端和前端部署到 Render.com 后,我购买了一个

回答 1 投票 0

GCP 签名网址的 CORS 问题

我尝试使用签名 URL 从前端通过 fetch 上传到 GCP,但遇到了持续存在的 CORS 问题。 要上传的文件是否应该嵌入到signedurl中,或者发送...

回答 2 投票 0

Google 应用程序引擎:来自另一个域的调用不起作用

从另一个域调用应用程序引擎(jetty @WebServlet)会出错。在日志中,我看到“预检”成功结果,但未到达 servlet 代码(打印输出作为第一行...

回答 1 投票 0

Google Chrome 123 更新:Chrome 正在对文档/重定向类型 GET 请求进行预检检查

chrome 新更新后,我的应用程序中遇到了 CORS 异常。经过调查,我发现它正在对文档/重定向类型 GET 请求进行 CORS 预检检查,它...

回答 1 投票 0

使用 Angular 从 s3 的预签名 URL 下载文件

目标: 我的角度应用程序需要从 AWS S3 预签名 URL 读取此 json 文件 问题: 当我尝试通过 http 调用从 S3 存储桶获取预签名 URL 时,出现错误, https://mydomain 有

回答 1 投票 0

如何在C#中调用跨域API

我需要使用C#调用不同服务器的API。 我正在使用以下方法 使用 (HttpClient 客户端 = new HttpClient()) { client.DefaultRequestHeaders.Authorization = 新

回答 1 投票 0

OAuth 中的 CORS:对预检请求的响应未通过访问控制检查

所以我正在尝试实现 OAuth 2 流程,而我的 web 应用程序是提供授权代码/访问令牌的服务器。 将代码发送回第三方网站时发生 Cors 错误(zapi...

回答 2 投票 0

如何获取 CORS http 失败的预检请求的状态代码

是否可以获取失败的预检请求的错误代码,以便我可以打印有意义的错误消息? (或者是否有为所有失败的预检请求打印静态错误的习惯?否

回答 2 投票 0

axios 使用 vue.js 预检失败错误 301

我有一个 Laravel 5.4 API,它在 Postman 和浏览器中运行良好。本地主机工作正常 - Laravel 5.4 在一个端口上运行,热部署模式下的 Vue 运行良好。 然而,当我移动...

回答 3 投票 0

ASP.NET Core 6 MVC:仅使用授权策略在 HttpPost 上出现 cors 错误

我已将 ASP.NET Core 6 MVC 应用程序添加到 Azure“应用程序注册”,并且我能够使用 Microsoft WebUI 登录并执行 GET 请求来获取例如我的观点。 应用...

回答 1 投票 0

即使 .net webapi 允许所有方法,对 Web api 的调用也会被 CORS 策略阻止

更新: 即使我在 webapi 中对 program.cs 进行硬编码以始终设置 Access-Control-Allow-Origin 标头,但在使用 OPTIONS/POST 请求调用 api 时也不会设置标头。 所以要排除...

回答 1 投票 0

Vercel Dev - 对预检请求的响应未通过访问控制检查

情况是这样的。在本地开发环境中向我的无服务器函数发出 POST 请求时,我收到 CORS 错误。部署的两个项目之间完全没有问题...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.