Chuyển tới nội dung chính

Cross-Origin Resource Sharing (CORS)

Tổng Quan

CORS (Cross-Origin Resource Sharing) Policy kiểm soát cách mà các tài nguyên trên một máy chủ có thể được truy cập từ các nguồn khác nhau. Điều này rất quan trọng đối với các ứng dụng web phụ thuộc vào các API được lưu trữ trên các miền khác nhau. Chính sách CORS đảm bảo các yêu cầu giữa các nguồn an toàn bằng cách xác định các phương thức, tiêu đề, thông tin xác thực và hành vi lưu cache được phép.

Chi Tiết Cấu Hình

CORS Policy bao gồm một số cài đặt chính kiểm soát quyền truy cập và bảo mật:

FieldDescriptionExample ValuesNotes
phương thứcXác định các phương thức HTTP được phép.GET, HEAD, PUT, PATCH, POST, DELETE, OPTIONS, TRACE, CONNECTSử dụng * để cho phép tất cả các phương thức.
nguồn gốcChỉ định các nguồn gốc (miền) được phép.https://www.example.com:8000, https://www.google.com:80Sử dụng * để cho phép tất cả các nguồn gốc.
allowHeadersLiệt kê các tiêu đề yêu cầu được phép.x-apim-key, Content-TypeSử dụng * để cho phép tất cả các tiêu đề.
exposedHeadersXác định các tiêu đề nên được lộ ra cho khách hàng.Content-Length, X-My-Custom-Header, X-Another-Custom-HeaderSử dụng * để lộ tất cả các tiêu đề.
allowCredentialXác định xem thông tin xác thực (cookie, xác thực) có được phép hay không.true / falseNếu true, * không thể được sử dụng trong các nguồn gốc hoặc allowHeaders. Mặc định: false.
maxAgeThời gian (tính bằng giây) mà yêu cầu preflight được lưu cache.3600Mặc định: 3600 (1 giờ).

Lưu ý:

  • Tránh sử dụng trong origins trừ khi cần thiết để ngăn ngừa rủi ro bảo mật.
  • Đặt allowCredential thành false nếu không yêu cầu thông tin xác thực xác thực.
  • Chỉ lộ các tiêu đề cần thiết trong exposedHeaders.
  • Tăng maxAge để giảm thiểu các yêu cầu preflight không cần thiết.
  • Giới hạn các phương thức và tiêu đề được phép chỉ còn những gì cần thiết.