Bạn vừa mua tên miền mới và muốn chuyển qua Cloudflare quản lý, Cloudflare sẽ tự động quét các bản ghi records và thêm chúng vào trang DNS trong tài khoản của bạn. Một số trường hợp Cloudflare sẽ sinh ra rất nhiều bản ghi DNS và điều quan trọng là Cloudflare không có chức năng xóa hàng loạt bản ghi DNS nên việc click xóa thủ công từng record là rất tốn thời gian và khó chịu.
Bài viết này ad sẽ hướng dẫn các bạn xóa hàng loạt bản ghi DNS khỏi Cloudflare đơn giản và nhanh chóng
Tình trạng bản ghi Records DNS
Khi bạn thêm mới domain và vào DNS để thay đổi trỏ IP về server tiến hành cài đặt website sẽ thấy hàng loạt records được sinh ra rất nhiều 😯
- Trong ảnh khi mình thêm 1 domain mới mua bên Namesilo đã tạo ra 199 records lận nên việc xóa từng cái là bất khả thi.
- Nguyên nhân: những records này là mặc định của nhà cung cấp domain khi bạn mua mới domain
Vậy giờ làm sao để xóa đồng loạt hết 199 records để cấu hình DNS lại theo ý muốn. Hãy làm theo các bước bên dưới
Xóa hàng loạt bản ghi DNS khỏi Cloudflare thông qua API
Thật may mắn để khắc phục vấn đề này, chúng tôi có thể sử dụng API Cloudflare!
Bước 1: Tạo mã API Tokens
Bước đầu tiên sẽ là tạo API Tokens với DNS zone edit priviliges.
Để bắt đầu tạo API Tokens, hãy đăng nhập vào https://dash.cloudflare.com/ Cloudflare và đi tới My Profile => API Tokens => User API Tokens
Từ màn hình chính chọn Create Tokens => Edit zone DNS => Use template
Tiếp theo các bạn điền thông tin như hình:
- Token name: tên Token
- Permissions: Quyền đối với Token (Các bạn chọn Zone, DNS và Edit)
- Zone Resources: Tài nguyên Token (Các bạn chọn include, Specific zone, và domain cần tạo API tokens)
Các phần ở dưới ko cần thiết các bạn để mặc định
Các bạn ấn Continue to Summary
ấn Create Token để hoàn thành
Và lưu API Tokens: kz3oAeQpwImXhP3LJWeAVXB01rQ757LC1ItXt***
lại
Bước 2: Tìm Zone ID Domain cần xóa
Tiếp theo, bạn cần truy xuất lại ID Vùng DNS domain cần xóa của mình.
Bạn có thể tìm thấy nó trên bảng điều khiển. Để có được nó, bạn về trang chủ Cloudflare => click Domain cần xóa =>Overview và ở bên phải sẽ có Zone ID.
Và các bạn cũng coppy và lưu Zone ID: cc068196801764c32f1306ea16***
lại
Bước 3: Sử dụng cURL để gửi yêu cầu API
Bạn có thể sử dụng một số công cụ khác nhau để tương tác với API, chẳng hạn như HTTPie, Postman và Rest Client trong VS Code. Trong bài này ad sử dụng công cụ trực tuyến https://httpie.io/cli/run
Và đây là đoạn mã bash thần thánh giúp bạn xóa tất cả các bản ghi DNS khỏi vùng đã chọn trong vòng 1 nốt nhạc 😉
for dns_record in $(curl -X GET "https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/dns_records?page=1&per_page=300" -H "Authorization: Bearer <API TOKEN>" -H "Content-Type: application/json" | jq -r ".result [] .id") do curl -X DELETE "https://api.cloudflare.com/client/v4/zones/<ZONE_ID>/dns_records/$dns_record" -H "Content-Type: application/json" -H "Authorization: Bearer <API TOKEN>" done
Các bạn thay tương ứng <API TOKEN>
và <ZONE_ID>
và có được ở Bước 1 và Bước 2 vào code trên nhé
Rồi paste vào link: https://httpie.io/cli/run và bắt đầu chạy
Đợi vài phút hệ thống chạy xong thành công sẽ như ảnh này
Các bạn quay lại DNS domain đã thấy trống trơn rồi
Kết luận
Như vậy ad đã hướng dẫn bạn xóa hàng loạt bản ghi DNS khỏi Cloudflare một cách đơn giản
Và để không phải làm việc này bạn chỉ cần nhớ hãy đảm bảo rằng “XÓA tất cả các bản ghi DNS được tạo ra mặc định sau khi mua Domain trước khi thay đổi máy chủ định danh của nhà cung cấp thành máy chủ định danh Cloudflare” là okie
Hy vọng trong tương lại Cloudflare sẽ có chức năng xóa hàng loạt bản ghi DNS cho ae tiện sử dụng
Chúc các bạn thành công !