Компьютер блокирует запрос CORS OPTIONS

Это сводит меня с ума! Я пытаюсь работать с запросами Amazon S3 CORS, но они не работают на моем компьютере. Кажется, мой компьютер блокирует или игнорирует запрос OPTIONS. Если я запускаю команду CURL из своего терминала:

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

... Я получил:

curl: (52) Пустой ответ с сервера

Однако, если я запускаю тот же запрос на другом компьютере (AirBook) на том же маршрутизаторе, я получаю ожидаемый ответ (в формате XML):

Недостаточно информации. Требуется заголовок запроса Origin.

Я попытался сбросить кеш dsn (через dscacheutil). Я попытался изменить свой DNS, чтобы использовать общедоступный DNS Google. Я попытался перезагрузить компьютер. Неудачно! Этот компьютер продолжает блокировать запрос OPTIONS, и каждый другой компьютер, который я пытаюсь разрешить, разрешает его.

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

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


person user3021922    schedule 22.11.2013    source источник
comment
Настройки брандмауэра/прокси? Проверьте свои журналы (Console.app) на наличие сообщений брандмауэра. Попробуйте перехватить пакет (tcpdump или Wireshark), чтобы увидеть, что (если что-то) на самом деле передается по сети (и откуда приходит этот пустой ответ).   -  person RJHunter    schedule 22.11.2013
comment
Хорошее мышление в Console.app (я не привык отлаживать вещи на этом уровне). Похоже, каждый раз, когда я пытаюсь выполнить HTTP-запрос OPTIONS, это отображается в консоли: 22.11.13 10:18:17.967 AM acwebsecagent[294]: Connection: ключ аутентификации не предоставлен или недействителен, применяется сбой подключения политика. CMode: 0 TMode: 0   -  person user3021922    schedule 22.11.2013
comment
Некоторые гуглы говорят, что эта ошибка может быть связана с Cisco AnyConnect, который я установил (для требования VPN). Из службы поддержки Apple: discussions.apple.com/thread/3507331   -  person user3021922    schedule 22.11.2013
comment
Удаление Cisco AnyConnect помогло мне решить проблему! Обратите внимание, что вы полностью удалили его. Просто отключить не получилось.   -  person John T    schedule 12.12.2013
comment
Несколько моих коллег столкнулись с этой проблемой, и это также была проблема Cisco AnyConnect; @user3021922 user3021922 не могли бы вы ответить этим на свой вопрос и отметить его как правильный ответ? Я почти не видел этих комментариев.   -  person Retsam    schedule 28.01.2014


Ответы (2)


В частности, проблема связана с модулем веб-безопасности AnyConnect. Мне удалось решить проблему, удалив и переустановив AnyConnect с отключенной опцией веб-безопасности; или просто запустив скрипт websecurity_uninstall.sh. (Это было с AnyConnect 3.1.04074.)

Спасибо @user3021922 и другим за выявление проблемы - это тоже сводило меня с ума.

person user3285354    schedule 07.02.2014
comment
Была та же проблема, запуск websecurity_uninstall.sh исправил ее (это в /opt/cisco/anyconnect/bin/websecurity_uninstall.sh, по крайней мере, на моей OS X 10.10). - person DfKimera; 05.05.2015
comment
Использовал удаление с графическим интерфейсом, но у меня тоже сработало. На самом деле у меня работал любой запрос (GET/POST/что угодно), пока я не попробовал загрузку файлов, которая полностью блокируется этим модулем на моей машине. - person Kiluminati; 12.08.2015

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

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

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

person James    schedule 26.10.2015