【发布时间】:2013-12-07 10:11:39
【问题描述】:
这快把我逼疯了!我正在尝试处理 Amazon S3 CORS 请求,但它们无法在我的计算机上运行。看来我的计算机正在阻止或忽略 OPTIONS 请求。如果我从终端运行 CURL 命令:
curl -i -X OPTIONS http://testing.bennadel.com.s3.amazonaws.com
...我明白了:
curl: (52) 来自服务器的空回复
但是,如果我在 same 路由器上的另一台计算机(AirBook)上运行 same 请求,我会得到预期的响应(XML 格式):
信息不足。需要源请求标头。
我尝试过刷新我的 dsn 缓存(通过 dscacheutil)。我尝试将我的 DNS 更改为使用 Google 的公共 DNS。我试过重新启动我的电脑。没有运气!这台计算机一直阻止 OPTIONS 请求,而我尝试的所有其他计算机都允许它。
建议?这台计算机 (iMac) 正在通过 WiFi 连接到我的路由器;但是,发出成功的 OPTIONS 请求的 AirBook 也是如此。
另外请注意,对同一 URL 的非 OPTIONS 请求可以正常工作(即 GET)。
【问题讨论】:
-
防火墙/代理设置?检查您的日志 (Console.app) 以获取防火墙消息。尝试数据包捕获(tcpdump 或 Wireshark)以查看实际通过线路输出的内容(如果有的话)(以及空响应的来源)。
-
在 Console.app 上的好想法(我不习惯在这个级别调试东西)。看起来每当我尝试执行 OPTIONS HTTP 请求时,都会在控制台中显示:11/22/13 10:18:17.967 AM acwebsecagent[294]: Connection : Auth key is not provided or is invalid, apply connection failure政策。 CMode : 0 TMode : 0
-
一些谷歌搜索说这个错误可能与我安装的“Cisco AnyConnect”有关(对于 VPN 要求)。来自 Apple 支持:discussions.apple.com/thread/3507331
-
卸载“Cisco AnyConnect”帮我解决了这个问题!请注意,您已完全卸载它。只是禁用它不起作用。
-
我的几个同事遇到了这个问题,这也是 Cisco AnyConnect 问题; @user3021922 你介意用它回答你自己的问题并将其标记为正确答案吗?我差点没看到这些cmets。
标签: http networking cors