2013-11-22 52 views
10

這讓我瘋狂!我正在嘗試使用Amazon S3 CORS請求,但他們沒有在我的計算機上工作。看來我的電腦阻止或忽略了OPTIONS請求。如果我從終端運行curl命令:計算機屏蔽CORS選項要求

curl -i -X OPTIONS http://testing.bennadel.com.s3.amazonaws.com 

...我得到:

捲曲:(52)空從服務器

答覆但是,如果我運行相同在相同路由器在不同的計算機(AirBook)上要求,我得到預期的響應(XML格式):

信息不足。需要原始請求標頭。

我試過刷新我的dsn緩存(通過dscacheutil)。我試着改變我的DNS以使用Google的公共DNS。我試過重新啓動我的電腦。沒有運氣!這臺計算機不斷阻止選項請求和我嘗試允許它的每一臺其他計算機。

對此提出建議?這臺電腦(iMac)通過WiFi連接到我的路由器;但是,成功的OPTIONS請求的AirBook也是如此。

另請注意,非OPTIONS請求到相同的URL工作正常(即GET)。

+0

防火牆/代理設置?檢查你的日誌(Console.app)是否有防火牆消息。嘗試捕獲數據包(tcpdump或Wireshark)以查看實際上通過線路(以及空響應來自哪裏)的內容(如果有的話)。 – RJHunter

+0

關於Console.app的好想法(我不習慣在這個級別上調試)。它看起來像我試圖執行OPTIONS HTTP請求,這顯示在控制檯中: 11/22/13 10:18:17.967 AM acwebsecagent [294]:連接:身份驗證密鑰未提供或無效,應用連接失敗策略。 CMode:0 TMode:0 – user3021922

+3

一些谷歌搜索說這個錯誤可能與我已經安裝的「Cisco AnyConnect」有關(對於VPN要求)。從Apple支持:https://discussions.apple。com/thread/3507331 – user3021922

回答

8

更具體地說,問題似乎出現在AnyConnect的Web安全模塊中。我可以通過卸載並重新安裝帶Web安全選項的AnyConnect選項來解決此問題;或者只需運行websecurity_uninstall.sh腳本。 (這是與AnyConnect 3.1.04074。)

感謝@ user3021922和其他人用於識別問題 - 這也讓我發瘋。

+0

有同樣的問題,運行'websecurity_uninstall.sh'修復了它(至少在我的OS X 10.10中它在'/ opt/cisco/anyconnect/bin/websecurity_uninstall.sh'中)。 – DfKimera

+0

使用GUI卸載,但也爲我工作。實際上,任何請求都可以爲我工作(GET/POST /不管),直到我嘗試上傳文件,然後被我的機器上的這個模塊完全阻止。 – Kiluminati

0

問題是Cisco AnyConnect的網絡安全模塊。在我們的情況下,我們無法卸載AnyConnect或對其進行任何更改(大型公司設置,其中更改將非常昂貴/耗時)。幸運的是,似乎有兩種解決方案可行。

  1. 思科只阻止端口808080(其他端口看起來不錯)。
  2. 思科允許安全https請求。

所以,如果你能控制服務器,可以把它放在不同的端口上,或者使用https,你的用戶就沒事了。