Блокировка компьютера CORS OPTIONS Request - программирование
Подтвердить что ты не робот

Блокировка компьютера CORS OPTIONS Request

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

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

... Я получаю:

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

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

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

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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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