Các vấn đề thường gặp khi sử dụng CDN
2018-09-06 03:41:07 | vietnam cdn

1. CORS

CORS là viết tắt của Cross-Origin Resource Sharing và là một thành phần thiết yếu khi các tập
tin (ví dụ font hay JavaScript) được nạp từ một tên miền (ví dụ như một CDN) khác với trang
web.

Khi trong tiêu đề HTTP chưa có khai báo CORS thì các trình duyệt Firefox, Chrome, IE sẽ từ
chối không tải về.

Hướng dẫn cách để sử dụng CORS với CDN

- Đăng nhập trang quản trị dịch vụ CDN tại: http://cp.vietnamcdn.com

- Sau đó click vào phần quản trị resource CDN

- Click vào HTTP Caching Rules , click tiếp Create New Rules

Điền các thông số như hình và Save lại

CONDITIONS: Connective = if Subject = default Predicate = default
ACTIONS: Act = set response header Header = Access-Control-Allow-Origins Value = *

- Kiểm tra lại HTTP Header của các file css, font, js sẽ có giá trị Access-Control-Allow-Origin: *
và các trình duyệt tải lại website sẽ không còn báo lỗi.

- Trong trường hợp bạn muốn điều chỉnh từ phía máy chủ gốc, bạn chỉ cần thêm đoạn mã sau vào
webserver để bổ sung thêm các tiêu đề HTTP Access-Control-Allow-Origin cho các file css,
font.

.htaccess

 



Header set Access-Control-Allow-Origin "*"
 

Nginx
location ~ \.(ttf|ttc|otf|eot|woff|font.css|css)$ {
add_header Access-Control-Allow-Origin "*";
}

2. HTTPS

Khi website của bạn chạy trên giao thức https nhưng cấu hình dịch vụ CDN dạng http thì trình
duyệt sẽ block không tải về các file ảnh, css, font.

- Bạn cần cấu hình dịch vụ CDN sang dạng https như sau

- Tại phần edit hay tạo mới resource CDN, bạn Enable SSL như hình

- Bạn có thể sử dụng Share SSL miễn phí theo dạng https://tên_tự_đặt.r.worldssl.net

- Hoặc bạn dùng SSL dạng https://cdn.yourdomain.com khi bạn đã có file xác thực SSL cho tên
miền này

- Trước tiên bạn cần Import SSL Certificate tại link http://cp.vietnamcdn.com.vn/cdn_ssl_certificates

- Sau đó bạn khai báo như sau:

- Sau khi cấu hình Resource CDN dạng SSL,website của bạn sẽ hiển thị đầy đủ hình ảnh, css

3. Link CDN redirect về link gốc

- Bạn sẽ gặp lỗi này khi bạn cấu hình redirect link http://http://www hoặc http https
- Để khắc phục, bạn cần vào edit resource CDN từ Origins là yourdomain.com sang
www.yourdomain.com

- Hoặc tại phần Advance, Origin Policy chọn HTTPS

- Sau khi save lại, link CDN cdn.yourdomain.com sẽ không còn bị redirect về site gốc yourdomain.com nữa

4. Khi thay đổi nội dung file không cập nhật mới

- Khi bạn thay đổi nội dung file, mất một thời gian nội dung mới được cập nhật lên CDN

- Nguyên nhân do cơ chế cache của CDN, nếu CDN thường xuyên về lấy file từ máy chủ Origins
sẽ làm giảm hiệu quả. Nguyên nhân cũng có thể do khai báo giá trị Cache-Control trong HTTP
Header làm trình duyệt cache file quá lâu.

- Để cập nhật ngay nội dung mới, bạn dùng chức năng Purge xóa file đang cache để CDN cập
nhật liền file mới

- Với những file thay đổi thường xuyên, bạn cần điều chỉnh giá trị Cache Control trên webserver
thấp xuống, ví dụ .htaccess

 


Header set Cache-Control "max-age=86400, public"

 


Header set Cache-Control "max-age=60, public"

nginx
location ~* \.(jpg|jpeg|png|gif|ico)$ {
expires 86400s;
}
location ~* \.(css|js)$ {
expires 60s;
}

- Sau đó bạn cần vào edit resource CDN, trong Advance, phần Cache Expiry bạn thiết đặt thông số thấp xuống


 

Xem thêm: