2013-11-22 5 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, чтобы использовать общедоступный DNS Google. Я попытался перезагрузить компьютер. Не повезло! Этот компьютер блокирует запрос OPTIONS, и каждый другой компьютер, который я пытаюсь ему разрешить.

Предложения? Этот компьютер (iMac) подключается к моему маршрутизатору через WiFi; но и AirBook, который делает успешные запросы OPTIONS.

Также обратите внимание, что запросы, отличные от OPTIONS, для одного и того же URL-адреса работают нормально (т.е. GET).

+0

Настройки брандмауэра/прокси-сервера? Проверьте свои журналы (Console.app) на сообщения брандмауэра. Попробуйте захват пакетов (tcpdump или Wireshark), чтобы увидеть, что (если что-либо) действительно выходит по кабелю (и откуда этот пустой ответ). – RJHunter

+0

Хорошее мышление на Console.app (я не привык отлаживать вещи на этом уровне). Похоже, что в любое время, когда я пытаюсь выполнить запрос HTTP OPTIONS, это отображается в консоли: 11/22/13 10: 18: 17.967 AM acwebsecagent [294]: Соединение: ключ аутентификации не указан или недействителен, применяя политика отказа соединения. CMode: 0 TMode: 0 – user3021922

+3

Некоторые пользователи Google говорят, что эта ошибка может быть связана с «Cisco AnyConnect», которую я установил (для требований VPN). От Apple Support: https://discussions.apple.com/thread/3507331 – user3021922

ответ

8

Более конкретно проблема заключается в модуле веб-безопасности AnyConnect. Я смог исправить эту проблему, удалив и переустановив AnyConnect с опцией Web Security, не установленную; или просто запустив скрипт websecurity_uninstall.sh. (Это было с AnyConnect 3.1.04074.)

Благодаря @ user3021922 и другим лицам, которые идентифицировали проблему - это сводило меня с ума.

+0

Если бы такая же проблема выполнялась 'websecurity_uninstall.sh' исправлена ​​(она находится в'/opt/cisco/anyconnect/bin/websecurity_uninstall.sh', по крайней мере, на моей OS X 10.10). – DfKimera

+0

Использовал удаление GUI, но работал и на меня. На самом деле, любой запрос работал на меня (GET/POST/независимо) до тех пор, пока я не попытался загрузить файлы, которые полностью блокируются этим модулем на моей машине. – Kiluminati

0

Проблема заключается в модуле веб-безопасности Cisco AnyConnect. В нашем случае мы не можем удалить AnyConnect или внести в него какие-либо изменения (крупные корпоративные настройки, в которых изменение будет действительно дорогостоящим/трудоемким). К счастью, похоже, есть два решения, которые работают.

  1. Cisco только блокирует порты 80 и 8080 (другие порты, кажется, отлично).
  2. Cisco обеспечивает безопасные запросы https.

Итак, если у вас есть контроль над сервером, поставьте его на другой порт или используйте https, и ваши пользователи будут в порядке.

Смежные вопросы