0
0
Lập trình
Admin Team
Admin Teamtechmely

Hướng Dẫn Chi Tiết Cách Cài Đặt CDN Trên Ứng Dụng Vue và React

Đăng vào 3 tuần trước

• 3 phút đọc

CDN Là Gì?

CDN (Mạng phân phối nội dung) là một hệ thống các máy chủ nằm rải rác trên nhiều vị trí địa lý, làm việc cùng nhau để tối ưu hóa việc phân phối nội dung trên Internet. Nhiều người đã quen thuộc với việc sử dụng CDN thông qua các tài nguyên từ bên thứ ba như phông chữ, CSS, và một số thư viện JavaScript như Stripe để thanh toán an toàn. Trong bài viết này, chúng ta sẽ tìm hiểu các loại CDN phổ biến và hướng dẫn cách thiết lập chúng cho ứng dụng Vue và React của bạn.

Các Loại CDN Phổ Biến

Mỗi loại CDN đều có những ưu điểm và nhược điểm riêng, nhưng mục tiêu chung vẫn là cải thiện tốc độ tải nội dung.

1. Reverse Proxy với Bộ Nhớ Đệm

Ưu điểm:

  • Dễ sử dụng: Ứng dụng không cần biết nhiều về CDN. Nếu bạn sử dụng Cloudflare làm nhà cung cấp DNS, chỉ cần một cú nhấp chuột, tất cả lưu lượng sẽ được chặn và lưu trữ đệm.
  • Cung cấp nhiều dịch vụ hữu ích như tường lửa, quy tắc trang...
    Nhược điểm:
  • Có thể gây ra vấn đề lưu trữ đệm quá mức.
  • Khó khôi phục khi dịch vụ ngừng hoạt động.
  • Nguy cơ bảo mật khi giao quyền kiểm soát cho bên thứ ba.

2. Push CDN

Push CDN yêu cầu bạn tải tài sản lên các máy chủ. Ví dụ như Google Cloud CDN. Trong cấu hình này, bạn cần tạo một bộ cân bằng tải và một bucket lưu trữ.
Ưu điểm:

  • Bạn có quyền kiểm soát việc chấm dứt TLS và nội dung trình bày.
  • Có thể biết chính xác tài sản được đẩy lên CDN.
    Nhược điểm:
  • Thêm bước mới trong quy trình CI/CD có thể gây lỗi.
  • Cần đảm bảo tài sản không bị ghi đè trong quá trình cập nhật.

3. No CDN

No CDN tức là bạn chỉ cần lưu trữ các tiêu đề điều khiển bộ nhớ đệm trên máy chủ web. Cách này có thể tốt nhưng thường gặp khó khăn khi người dùng cách xa máy chủ.

4. Pull CDN

Pull CDN, như BunnyCDN, lấy tài sản từ máy chủ gốc mà không proxy toàn bộ lưu lượng.
Ưu điểm:

  • Dễ thiết lập.
  • Thường rẻ hơn so với các CDN khác.
    Nhược điểm:
  • Cần đảm bảo tài sản có ID bản dựng duy nhất để không phục vụ nội dung cũ.
  • Nếu CDN gặp sự cố, tài sản có thể gặp lỗi.

Cách Thiết Lập Pull CDN Trong Ứng Dụng SPA

  1. Tạo Pull Zone: Nhận tên miền Pull Zone để kiểm tra reverse proxy.
  2. Tạo CNAME: Tạo CNAME từ tên miền của bạn đến tên miền Pull Zone (vd: cdn.example.com -> example.b-cdn.net).
  3. Cập Nhật Cấu Hình Webpack:
    javascript Copy
    module.exports = {  
      publicPath: process.env.NODE_ENV === 'production' ? 'https://cdn.your-domain-here.com/' : '/',  
    };  
  4. Cấu Hình Nginx: Đảm bảo cung cấp đúng tiêu đề cho các tệp js và css:
    nginx Copy
    location ~* \\.css|js$ {  
             expires 1y;  
             add_header Cache-Control "public";  
             access_log off;  
           }  

Hy vọng rằng bạn đã có đủ thông tin để chọn loại CDN phù hợp cho website của mình và thực hiện thiết lập thành công. Cảm ơn bạn đã theo dõi bài viết này!
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào