我有一个 CloudFront 发行版,其默认行为配置为允许任何 CORS 请求,包括预检请求。但是,OPTIONS 请求将失败并出现 HTTP 403 错误(详细信息如下),这不是我所期望的。
\n我正在使用 AWS 管理的CORS-With-Preflight策略,该策略应允许所有 CORS 请求,包括预检 (OPTIONS) 请求:
\n(我不确定为什么 \xe2\x80\x9cOrigin 请求策略\xe2\x80\x9d 区域以黄色突出显示。)
\n政策详情:
\n我已在行为中允许 OPTIONS 请求:
\n但是,当我发送选项请求时,CloudFront 将返回此错误:
\n$ curl --request OPTIONS --url https://d3qj3h7hjzomrd.cloudfront.net/ --header \'Origin: https://www.example.com\'\n\n<?xml version="1.0" encoding="UTF-8"?>\n<Error>\n <Code>AccessForbidden</Code>\n <Message>CORSResponse: This CORS request is not allowed. This is usually because the evalution of Origin, request method / Access-Control-Request-Method or Access-Control-Request-Headers are not whitelisted by the resource\'s CORS spec.</Message>\n <Method>OPTIONS</Method>\n <ResourceType>OBJECT</ResourceType>\n …
Run Code Online (Sandbox Code Playgroud) 我的 MikroTik RouterBOARD hEX - RB750Gr3(运行 Router OS 7.8)有一个奇怪的问题。
\n某些 TCP 连接非常慢,例如这个 93 KB 文件需要很长时间才能从 router\xe2\x80\x99s LAN 中的客户端下载:
\ncurl https://gewerbeauskunft.bremen.de/navigaweb/res/themes/System_09.12.06/js/jquery-1.11.3.min.js > /dev/null\n % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n100 95957 0 95957 0 0 1998 0 --:--:-- 0:00:48 --:--:-- 1279\n\n
Run Code Online (Sandbox Code Playgroud)\n花了48秒!
\n这是可重现的,并且也会发生在同一 LAN 上的其他客户端上。
\n然而,在路由器本身上获取文件速度很快:
\n[admin@MikroTik] > /tool/fetch url="https://gewerbeauskunft.bremen.de/navigaweb/res/themes/System_09.12.06/js/jquery-1.11.3.min.js"\n status: finished\n downloaded: 93KiB-z pause]\n total: 0KiB\n duration: 1s\n
Run Code Online (Sandbox Code Playgroud)\n所以我想看看\xe2\x80\x99s发生了什么,并开始在路由器上捕获数据包:
\n[admin@MikroTik] /tool/sniffer> …
Run Code Online (Sandbox Code Playgroud)