Cách dùng Tạo & Kiểm tra CORS Header
- Ở mục Tạo header, liệt kê các origin được phép gọi API (hoặc chọn cho phép tất cả), đánh dấu các phương thức và nhập header yêu cầu mà front end gửi lên — thường là
Content-TypevàAuthorization. - Chỉ tick Cho phép credentials khi trình duyệt cần gửi cookie hoặc header Authorization với
credentials: 'include'. - Chọn nền tảng của bạn và sao chép code — Express, Nginx, Apache, Netlify, Vercel, Next.js, Workers hoặc PHP.
- Triển khai, sau đó chuyển sang Kiểm tra URL: nhập URL API và origin của trang để xem preflight và request thực tế có vượt qua hay không.
Vì sao trình duyệt chặn request
Một trang ở https://app.example.com chỉ đọc được phản hồi từ https://api.example.com khi API cho phép thông qua CORS header. Với mọi request vượt quá GET đơn giản hoặc form POST — như body JSON, header Authorization, PUT hay DELETE — trình duyệt sẽ gửi trước một preflight: một request OPTIONS hỏi “origin này có được dùng phương thức và header này không?”. Nếu câu trả lời thiếu hoặc sai, bạn sẽ thấy lỗi “has been blocked by CORS policy” và code của bạn không bao giờ nhận được phản hồi.
| Header | Nội dung cần có |
|---|---|
Access-Control-Allow-Origin | Đúng origin đang gọi, hoặc * (không dùng được khi có credentials) |
Access-Control-Allow-Methods | Phương thức của request thực tế (chỉ dùng cho preflight) |
Access-Control-Allow-Headers | Mọi header request không chuẩn, ví dụ Authorization hoặc Content-Type: application/json |
Access-Control-Allow-Credentials | true khi có gửi cookie hoặc credentials |
Access-Control-Max-Age | Trình duyệt được phép cache kết quả preflight trong bao lâu |
Vary: Origin | Cần thiết khi origin được phép thay đổi theo từng request, để cache không trả kết quả của origin này cho origin khác |
Công cụ kiểm tra hoạt động thế nào
Máy chủ của chúng tôi gửi request kèm header Origin và, nếu trình duyệt cần, một preflight OPTIONS với Access-Control-Request-Method và -Headers — giống hệt Chrome hay Firefox. Sau đó, công cụ đối chiếu phản hồi với các quy tắc CORS mà trình duyệt áp dụng. Các máy chủ chỉ cho phép một số địa chỉ IP nhất định hoặc yêu cầu cookie có thể trả lời khác với người dùng thực. Xem thêm: HTTP Header Checker, API Tester, Security Headers Checker.
Cũng được tìm dưới tên: tạo cors header, kiểm tra cors, cors checker, lỗi blocked by cors policy, access-control-allow-origin, cors preflight test, express cors, nginx cors.
Các công cụ dùng kèm tốt với Tạo & Kiểm tra CORS Header
- Trình tạo CSP — Chọn những gì trang web của bạn tải — script, style, hình ảnh, font, analytics, nhúng — và nhận một Content-Security-Policy chỉ cho phép đúng những thứ đó, kèm cảnh báo cho các cài đặt rủi ro.
- Chuyển cURL sang Code — Dán lệnh curl từ tài liệu API hoặc “Copy as cURL” trong DevTools của trình duyệt, rồi nhận ngay đoạn code chạy được cho sáu ngôn ngữ, giữ nguyên header, body và thông tin xác thực.
- Tạo Cấu Hình Nginx — Chọn việc Nginx cần làm — phục vụ site tĩnh hoặc SPA, proxy tới ứng dụng Node/Python, hoặc chạy PHP — rồi đánh dấu các tùy chọn thêm.
- Phân tích Email Header — Dán header gốc của email để xem toàn bộ hành trình: từng máy chủ trung gian cùng thời gian xử lý, kết quả SPF, DKIM và DMARC, IP gốc, và các dấu hiệu cảnh báo như Reply-To hoặc Return-Path không khớp.