Triển khai Website Tĩnh với Cloudflare Pages

22004262 – Nguyễn Phúc Hạnh Nguyên
22004263 – Trần Ngọc Mỹ Duyên
22004285 – Võ Đinh Hoàng Mỹ

Yêu cầu 1: Kiến thức cơ bản

1. Cloud Computing là gì?
Cloud Computing (Điện toán đám mây) là mô hình cung cấp tài nguyên CNTT như máy chủ, lưu trữ, cơ sở dữ liệu, mạng và phần mềm thông qua Internet theo hình thức dịch vụ. Người dùng không cần đầu tư hạ tầng vật lý mà chỉ sử dụng và trả phí theo mức độ dùng.

Đặc điểm chính:

2. Phân biệt IaaS – PaaS – SaaS

IaaS cho phép người dùng quản lý hệ điều hành, ứng dụng và dữ liệu; nhà cung cấp quản lý hạ tầng (ví dụ: AWS EC2, Google Compute). PaaS cho phép người dùng quản lý ứng dụng và dữ liệu, trong khi nền tảng chịu trách nhiệm hạ tầng và môi trường triển khai (ví dụ: Cloudflare Pages, Heroku). SaaS là mô hình người dùng chỉ sử dụng phần mềm, toàn bộ hệ thống do nhà cung cấp quản lý (ví dụ: Gmail, Google Docs).

3. Website tĩnh thuộc mô hình cloud nào?
Website tĩnh thuộc mô hình PaaS vì người dùng chỉ cần viết HTML/CSS/JS, không phải quản lý server hay hệ điều hành, toàn bộ quá trình deploy, HTTPS và CDN do nền tảng Cloudflare Pages đảm nhiệm.

4. Cloudflare Pages hoạt động theo cơ chế gì?

5. CDN phân phối nội dung ra sao?
CDN là mạng lưới máy chủ đặt tại nhiều vị trí địa lý khác nhau. Khi người dùng truy cập website, CDN sẽ chọn máy chủ gần nhất để trả nội dung, giúp tăng tốc độ tải trang, giảm độ trễ, giảm tải server gốc và tăng khả năng chống DDoS.

6. Vai trò của CDN đối với hiệu năng và an toàn

7. Ví dụ minh họa
Người dùng tại Việt Nam truy cập website sẽ được phục vụ nội dung từ máy chủ Cloudflare gần Việt Nam thay vì truy cập trực tiếp server gốc.

8. Rủi ro bảo mật còn tồn tại
Website vẫn có thể gặp các rủi ro như thiếu HTTP Security Headers, lộ mã nguồn nhạy cảm trên GitHub, tấn công XSS phía client, cấu hình sai quyền truy cập repository hoặc không kiểm tra bảo mật định kỳ.

9. Giải pháp

Yêu cầu 2: Triển khai website tĩnh với GitHub và Cloudflare Pages

1. GitHub là gì?
GitHub là nền tảng lưu trữ và quản lý mã nguồn dựa trên hệ thống Git, cho phép người dùng làm việc nhóm, quản lý phiên bản và lưu trữ các dự án phần mềm, bao gồm cả website tĩnh sử dụng HTML, CSS và JavaScript.

Trong bài này, GitHub được sử dụng để lưu trữ mã nguồn website tĩnh và làm nguồn dữ liệu đầu vào cho Cloudflare Pages.

2. Cloudflare Pages là gì?
Cloudflare Pages là dịch vụ triển khai website tĩnh theo mô hình PaaS, cho phép kết nối trực tiếp với GitHub để tự động build và deploy website.

Cloudflare Pages đóng vai trò đưa website từ GitHub lên Internet, đảm bảo tốc độ truy cập cao, độ ổn định tốt và tăng cường bảo mật cho website.

Yêu cầu 3: Kiểm tra an toàn và đánh giá website

1. Kiểm tra an toàn website bằng SecurityHeaders
Công cụ SecurityHeaders được sử dụng để đánh giá mức độ an toàn của website thông qua các HTTP Security Headers.

Quy trình thực hiện:

Các header quan trọng: CSP, HSTS, X-Frame-Options, X-Content-Type-Options và Referrer-Policy.

2. Đánh giá hiệu năng bằng PageSpeed Insights
PageSpeed Insights dùng để đánh giá tốc độ tải trang và trải nghiệm người dùng.

Quy trình:

Các chỉ số quan trọng: Performance, FCP, LCP, CLS và TTI. Điểm số cao cho thấy website tải nhanh, ổn định và thân thiện với người dùng.