2013-11-22 18 views
10

Điều này khiến tôi phát điên! Tôi đang cố gắng làm việc với các yêu cầu của Amazon S3 CORS và chúng không hoạt động trên máy tính của tôi. Dường như máy tính của tôi đang chặn hoặc bỏ qua yêu cầu OPTIONS. Nếu tôi chạy một lệnh CURL từ thiết bị đầu cuối của tôi:CORS OPTIONS CORS OPTIONS Yêu cầu

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

... Tôi nhận được:

curl: (52) trả lời rỗng từ máy chủ

Tuy nhiên, nếu tôi chạy cùng Yêu cầu trên một máy tính khác (AirBook) trên cùng một bộ định tuyến, tôi nhận được phản hồi mong đợi (ở định dạng XML):

Không đủ thông tin. Yêu cầu tiêu đề gốc.

Tôi đã thử xóa bộ nhớ cache dsn của mình (qua dscacheutil). Tôi đã thử thay đổi DNS của mình để sử dụng DNS công cộng của Google. Tôi đã thử khởi động lại máy tính của mình. Không may mắn! Máy tính này liên tục chặn yêu cầu OPTIONS và mọi máy tính khác mà tôi thử cho phép.

Đề xuất? Máy tính này (iMac) đang kết nối với bộ định tuyến của tôi qua WiFi; nhưng, như vậy AirBook, mà làm cho các yêu cầu OPTIONS thành công.

Cũng lưu ý, các yêu cầu không OPTIONS cho cùng một URL hoạt động tốt (ví dụ, GET).

+0

Cài đặt tường lửa/proxy? Kiểm tra nhật ký của bạn (Console.app) để biết thông báo tường lửa. Hãy thử một gói chụp (tcpdump hoặc Wireshark) để xem những gì (nếu có) là thực sự đi ra trên dây (và nơi mà phản ứng trống là đến từ). – RJHunter

+0

Suy nghĩ tốt về Console.app (Tôi không được sử dụng để gỡ lỗi mọi thứ ở cấp độ này). Dường như bất cứ lúc nào tôi cố gắng thực hiện yêu cầu HTTP OPTIONS, điều này sẽ hiển thị trong bảng điều khiển: 11/22/13 10: 18: 17.967 AM acwebsecagent [294]: Kết nối: Khóa xác thực không được cung cấp hoặc không hợp lệ, áp dụng chính sách thất bại kết nối. CMode: 0 TMode: 0 – user3021922

+3

Một số Googling nói lỗi này có thể liên quan đến "Cisco AnyConnect" mà tôi đã cài đặt (cho một yêu cầu VPN). Từ Hỗ trợ của Apple: https://discussions.apple.com/thread/3507331 – user3021922

Trả lời

8

Cụ thể hơn, sự cố dường như nằm trong mô-đun Bảo mật Web của AnyConnect. Tôi đã có thể khắc phục sự cố bằng cách gỡ cài đặt và cài đặt lại AnyConnect bằng tùy chọn Bảo mật Web không được chọn; hoặc, chỉ bằng cách chạy tập lệnh websecurity_uninstall.sh. (Điều này là với AnyConnect 3.1.04074.)

Nhờ @ user3021922 và những người khác để xác định sự cố - điều này cũng khiến tôi phát điên.

+0

Đã có cùng một vấn đề, chạy 'websecurity_uninstall.sh' đã sửa nó (nó nằm trong'/opt/cisco/anyconnect/bin/websecurity_uninstall.sh', ít nhất là trên OS X 10.10 của tôi). – DfKimera

+0

Đã sử dụng gỡ cài đặt GUI nhưng cũng làm việc cho tôi. Trên thực tế, bất kỳ yêu cầu nào đã làm việc cho tôi (GET/POST/bất kỳ điều gì), cho đến khi tôi thử tải lên tệp, nó bị chặn hoàn toàn bởi mô-đun này trên máy của tôi. – Kiluminati

0

Sự cố là mô-đun bảo mật web của Cisco AnyConnect. Trong trường hợp của chúng tôi, chúng tôi không thể gỡ cài đặt AnyConnect hoặc thực hiện bất kỳ thay đổi nào đối với nó (cài đặt công ty lớn, nơi thay đổi sẽ thực sự tốn kém/tốn thời gian). May mắn thay, có vẻ như có hai giải pháp làm việc.

  1. Cisco chỉ chặn cổng 808080 (các cổng khác có vẻ tốt).
  2. Cisco cho phép an toàn yêu cầu https.

Vì vậy, nếu bạn có quyền kiểm soát máy chủ, hãy đặt nó trên một cổng khác hoặc sử dụng https và người dùng của bạn sẽ không sao.

Các vấn đề liên quan