Mở đầu
Bài viết này tập trung vào việc lưu trữ một trang web tĩnh một cách hiệu quả bằng cách sử dụng dịch vụ lưu trữ đám mây AWS S3 và tối ưu hóa hiệu suất với Cloudflare, một dịch vụ mạng giao thông toàn cầu. AWS S3 cung cấp một giải pháp lưu trữ an toàn, scalable và linh hoạt, cho phép chúng ta lưu trữ tài nguyên tĩnh như hình ảnh, CSS, và JavaScript. Sự kết hợp giữa AWS S3 và Cloudflare mang lại lợi ích về tốc độ truy cập và bảo mật. Cloudflare không chỉ cung cấp các tính năng tối ưu hóa hiệu suất như CDN (Content Delivery Network) để giảm độ trễ, mà còn bảo vệ trang web khỏi các tấn công mạng và tăng cường bảo mật. Đồng thời, việc tích hợp giữa AWS S3 và Cloudflare giúp tối ưu hóa chi phí và đồng thời đảm bảo sự linh hoạt và ổn định trong quá trình quản lý nội dung tĩnh trên môi trường đám mây và internet toàn cầu.
Yêu cầu trước khi bắt đầu:
- Một tài khoản Amazon Web Services .
- Một Tên miền
- Đã có một trang HTML tĩnh được thiết kế và sẵn sàng tải lên.
Lưu trữ một trang web tĩnh bằng AWS S3 và Cloudflare
Thiết lập nhóm Amazon S3
- Trước tiên, hãy tạo nhóm AWS S3 có cùng tên với tên miền của bạn, đảm bảo bao gồm www. và chọn khu vực AWS mong muốn của bạn.
- Ở Bước 3, Đặt quyền, khi tạo nhóm S3, hãy nhớ bỏ chọn hộp kiểm “ Chặn tất cả quyền truy cập công cộng ” và xác nhận rằng bạn muốn xóa khối này!
- Sau đó kích hoạt tính năng lưu trữ trang web tĩnh cho nhóm trong tab Thuộc tính.
và đặt chỉ mục cũng như tên tệp tài liệu lỗi rồi nhấp vào LƯU. Hãy nhớ ghi lại URL điểm cuối của nhóm
- Để cho phép nhóm này có thể truy cập được thông qua Cloudflare, chúng tôi sẽ cần chỉnh sửa chính sách nhóm, trong tab quyền
và sao chép/dán thông tin sau:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::www.MYDOMAINNAME.com/*", "Condition": { "IpAddress": { "aws:SourceIp": [ "2400:cb00::/32", "2405:8100::/32", "2405:b500::/32", "2606:4700::/32", "2803:f800::/32", "2a06:98c0::/29", "2c0f:f248::/32", "103.21.244.0/22", "103.22.200.0/22", "103.31.4.0/22", "104.16.0.0/13", "104.24.0.0/14", "108.162.192.0/18", "131.0.72.0/22", "141.101.64.0/18", "162.158.0.0/15", "172.64.0.0/13", "173.245.48.0/20", "188.114.96.0/20", "190.93.240.0/20", "197.234.240.0/22", "198.41.128.0/17" ] } } } ] }
Lưu ý: Đảm bảo thay thế MYDOMAINNAME trong chính sách bằng tên miền của riêng bạn.
- Sau khi lưu chính sách trên, bạn sẽ nhận được thông báo từ AWS cho biết nhóm có quyền truy cập công khai. Điều này ổn. Trên thực tế, mặc dù vùng lưu trữ này được công khai về mặt kỹ thuật nhưng nó chỉ có thể truy cập được nếu thông qua Cloudflare. Do đó bảo mật thêm.
- Bây giờ bạn có thể tải trang web tĩnh lên bộ chứa S3 của mình.
Lưu ý: Trang web của bạn sẽ không thể truy cập được.
Thiết lập nhóm AWS S3 không có www
Chúng tôi cần tạo nhóm S3 thứ hai để khi người dùng cố gắng truy cập domainname.com, họ sẽ được chuyển hướng đến www.domainname.com.
- Tạo nhóm S3 thứ hai có cùng tên với tên miền của bạn, nhóm này KHÔNG CÓ www.
- Bật tính năng lưu trữ trang web tĩnh cho nhóm nhưng lần này đặt nó chuyển hướng đến nhóm www.domainname.com của bạn.
Vậy là xong cho nhóm thứ hai, bây giờ hãy thiết lập Cloudflare!
Thiết lập Cloudflare cho trang HTML tĩnh của bạn
- Đăng nhập vào Cloudflare và nhấp vào “ +Thêm trang web ”.
Sau đó nhập tên miền của bạn và nhấp vào “ Thêm trang web ”.
- Sau đó chọn gói Cloudflare MIỄN PHÍ. Hãy thoải mái sử dụng một kế hoạch khác nếu bạn cảm thấy cần nó.
- Tiếp theo, bạn có thể có một hoặc nhiều bản ghi DNS được liên kết với tên miền của mình, nếu vậy hãy xóa chúng bằng cách nhấp vào dấu X bên cạnh mỗi bản ghi đó.
- Bây giờ, hãy thêm một số bản ghi DNS cho hai nhóm AWS S3 của chúng tôi. Chúng ta cần thêm bản ghi cho mỗi nhóm S3.
- Tạo bản ghi CNAME có tên www và đối với trường máy chủ, hãy nhập URL điểm cuối nhóm www.yourdomain.com mà không có https://
- Tạo bản ghi CNAME thứ hai với tên miền của bạn (không có www.) và đối với trường máy chủ của nó, hãy nhập URL điểm cuối nhóm yourdomain.com, cũng không có https://
- Cloudflare sau đó sẽ cung cấp cho bạn hai máy chủ tên để trỏ tên miền của bạn tới. Vì vậy, bây giờ hãy đăng nhập vào công ty đăng ký tên miền của bạn và cập nhật máy chủ tên lên máy chủ tên mà Cloudflare cung cấp cho bạn.
- Cuối cùng, thay đổi tùy chọn mã hóa Cloudflare SSL/TLS mặc định từ “ Đầy đủ ” thành “ Linh hoạt ”. Tôi cũng thích bật “ Luôn sử dụng HTTPS ”.
Lúc này bạn chỉ cần đợi DNS cập nhật. Việc này có thể mất 24-48 giờ, nhưng trong hầu hết các trường hợp, việc này nhanh hơn nhiều.
Vậy là bạn đã có một trang web tĩnh được lưu trữ trên S3 và các biện pháp bảo vệ cũng như cải thiện tốc độ từ Cloudflare.
Đăng ký liền tay Nhận Ngay Bài Mới
Subscribe ngay
Cám ơn bạn đã đăng ký !
Lỗi đăng ký !
Add Comment