bởi Georgia Nola # Lưu trữ trang web đơn giản với Amazon S3 và HTTPS Chào mọi người! Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách lưu trữ một trang web tĩnh bằng HTTPS trên AWS với miền tùy chỉnh. Tất cả điều này có thể thực hiện được khi sử dụng bậc miễn phí của AWS Tuy nhiên, các dịch vụ chúng tôi sẽ sử dụng phải chịu một số khoản phí nhỏ. Nói chung, những thứ này không nên vượt quá $1/tháng Chúng tôi sẽ sử dụng kết hợp các dịch vụ AWS sau: âÃÂÃÂS3 âÃÂàRoute53 âÃÂàTrình quản lý chứng chỉ âÃÂàCloudFront *LetâÃÂÃÂs nhận được vào nó!* Thiết lập bộ chứa S3 của bạn Trước tiên, bạn sẽ cần **cả hai nhóm S3 phải khớp với tên miền tùy chỉnh của bạn với tên miền thứ hai bao gồm tên miền phụ www Xô 1: Xô 2: Nhóm đầu tiên (mywebsite.com) là nhóm chính cho trang web của bạn. Điều này chứa tất cả các tệp và nội dung của bạn cho trang web tĩnh của bạn Tiếp theo, chúng tôi thiết lập nhóm này để lưu trữ trang web tĩnh. Bạn có thể tìm thấy điều này trong tab Thuộc tính của nhóm và chúng tôi sẽ giữ các giá trị mặc định được cung cấp ở đây với chỉ mục của trang web được đặt thành index.html Chúng tôi cũng cần làm cho nhóm này có thể truy cập được vì trình duyệt của người dùng sẽ cần truy cập vào các tệp của nhóm để hiển thị trang web. Chúng tôi có thể làm điều này bằng cách đặt Chính sách nhóm trong tab Quyền { "Phiên bản": "17-10-2012", "Câu lệnh": [ { "Sid": "PublicReadGetObject", "Hiệu ứng": "Cho phép", "Hiệu trưởng":"Hành động": "s3:GetObject", "Tài nguyên": "MY_BUCKET_ARN"} ]} Đây là một chính sách đơn giản sẽ chỉ cho phép truy cập đọc công khai các đối tượng trong nhóm. Bây giờ, nếu bạn đi đến điểm cuối được xác định trong cấu hình lưu trữ tĩnh của bộ chứa, bạn sẽ thấy trang web của mình Phát triển! Nhưng chúng ta có thể làm tốt hơn thế Nhóm thứ hai (www.mywebsite.com), chúng tôi sẽ để trống nhưng định cấu hình để chuyển hướng đến nhóm đầu tiên của chúng tôi bằng cách sử dụng HTTP làm giao thức (chúng tôi sẽ tạo HTTPS sau) Xô của bạn bây giờ đã sẵn sàng để đi! Định cấu hình miền với Route53 Vì vậy, trang web của bạn đã hoạt động nhưng chỉ có thể truy cập được qua điểm cuối bộ chứa chứ không phải miền tùy chỉnh của bạn. LetâÃÂÃÂs thay đổi điều đó Đi đến **Route53 Nếu bạn đã đăng ký miền của mình với Nhà đăng ký Amazon, bạn sẽ thấy rằng một vùng được lưu trữ đã được thiết lập cho bạn với hai bộ bản ghi. Một cho Name Server (NS) và một cho SOA Tất cả những gì chúng ta cần làm là tạo thêm hai bộ bản ghi để trỏ đến các điểm cuối của bộ chứa S3 Đối với mỗi bộ bản ghi: âÃÂàLoại: Địa chỉ IPv4 âÃÂàâÃÂàBí danh: Có âÃÂàMục tiêu bí danh: điểm cuối trang web S3 khớp với những gì bạn đặt cho Tên Bây giờ chúng ta có thể chuyển đến urlâÃÂævà voilÃÂà! Chúng tôi gần như ở đó, nhưng có một điều cuối cùng mà chúng tôi đang thiếu. ÃÂæ **Lưu ý Nếu miền của bạn được đăng ký với một công ty đăng ký tên miền khác (không phải Amazon), bạn sẽ cần thực hiện theo một số bước khác để thiết lập điều này. Thông thường, bạn sẽ cần thêm bản ghi CNAME với giá trị của điểm cuối bộ chứa S3 chính. **Xử lý sự cố Nếu bạn đã xóa vùng được lưu trữ mà Amazon đã tạo khi bạn đăng ký miền lần đầu tiên (tôi đã làm điều này vì các vùng được lưu trữ phát sinh một số khoản phí), bạn. sẽ cần tạo vùng lưu trữ mới từ đầu - Chọn âÃÂÃÂCreate Hosted ZoneâÃÂàvà đặt tên miền, ví dụ âÃÂÃÂmywebsite. comâÃÂà- Điều này sẽ tạo ra một số bộ bản ghi mới cho các loại NS và SOA - Truy cập miền đã đăng ký của bạn và cập nhật các giá trị Máy chủ định danh thành các giá trị được tạo trong bộ bản ghi NS mới Yêu cầu Giấy chứng nhận Tuyệt vời, trang web hiện được lưu trữ bằng url tùy chỉnh! Tuy nhiên, chúng tôi chỉ có thể truy cập nó thông qua giao thức HTTP Chúng ta phải luôn đảm bảo các trang web của mình được bảo mật bằng giao thức HTTPS. Điều này bảo vệ trang web của chúng tôi và người dùng khỏi các cuộc tấn công tiêm chích độc hại và đảm bảo tính xác thực Đi đến **Trình quản lý chứng chỉ** trong Bảng điều khiển AWS và yêu cầu chứng chỉ công khai mới (chứng chỉ này miễn phí). YouâÃÂàsẽ được nhắc nhập tên miền bạn muốn bảo mật Trước khi cấp chứng chỉ, Amazon cần có khả năng xác minh rằng bạn sở hữu các miền được chỉ định Bạn có thể chọn một trong hai phương thức xác minh: Email hoặc DNS Email thường đơn giản hơn, nhưng bạn sẽ cần đảm bảo rằng bạn có thể truy cập email được sử dụng để đăng ký miền. Ngoài ra, nếu bạn đã sử dụng Công ty đăng ký Amazon và Route53, bạn có thể chọn phương thức DNS. Điều này yêu cầu bạn thêm một số bộ bản ghi cụ thể vào vùng được lưu trữ, nhưng điều này hầu hết được tự động hóa cho bạn nên nó khá đơn giản Có thể mất vài phút để cấp chứng chỉ sau khi xác thực Khi tất cả đã hoàn tất, chúng ta có thể tiếp tục đến bước cuối cùng! Định cấu hình CloudFront Đối với bước cuối cùng, chúng ta sẽ sử dụng **CloudFront **cho phép chúng tôi sử dụng chứng chỉ SSL mới để cung cấp trang web bằng HTTPS. CloudFront cũng tăng tốc độ phân phối nội dung web bằng cách lưu trữ nội dung đó ở nhiều vị trí biên và phân phối từ vị trí biên gần nhất tới người dùng Chúng tôi cần **hai bản phân phối web mới, một cho mỗi nhóm S3. Truy cập CloudFront trong Bảng điều khiển AWS và tạo bản phân phối web đầu tiên Có rất nhiều cài đặt có sẵn để tạo một bản phân phối web, nhưng đối với những điều cơ bản, chúng ta chỉ cần thay đổi 5 cài đặt: Tên miền gốc: Đặt tên miền này thành điểm cuối trang web S3 cho một trong các nhóm. Quan trọng: Trường này sẽ cung cấp cho bạn một số tùy chọn tự động hoàn thành với tên bộ chứa S3 của bạn. Tuy nhiên, việc sử dụng những thứ này có thể gây ra sự cố khi chuyển hướng đến điểm cuối của bộ chứa. Vì vậy, thay vào đó hãy sử dụng điểm cuối nhóm trực tiếp. Id gốc: Mã này được điền cho bạn khi bạn nhập Tên miền gốc. Chính sách giao thức người xem: Đặt thành âÃÂÃÂChuyển hướng HTTP sang HTTPSâÃÂÃÂ. Tên miền thay thế: Tên này phải khớp với tên của nhóm S3 mà bạn đang trỏ tới. Ví dụ: âÃÂÃÂmywebsite.comâÃÂÃÂ. Chứng chỉ SSL: Chọn âÃÂÃÂChứng chỉ SSL tùy chỉnhâÃÂàvà chọn chứng chỉ mới của bạn từ danh sách thả xuống Làm điều này một lần nữa cho thùng S3 thứ hai Các bản phân phối có thể mất một lúc để hoàn thành, vì vậy trong khi chờ đợi, chúng ta hãy thực hiện các bước hoàn thiện Trở lại **S3 chuyển đến nhóm phụ của bạn (www.mywebsite.com), trong tab Thuộc tính và bên dưới Lưu trữ trang web tĩnh, đặt giao thức chuyển hướng thành HTTPS Cuối cùng, quay trở lại **Route53 Chúng tôi cần cập nhật các bản ghi A tùy chỉnh mà chúng tôi đã tạo để hiện nhắm mục tiêu các bản phân phối CloudFront thay vì các bộ chứa S3. Đối với mỗi bản ghi, hãy thay đổi Mục tiêu bí danh và chọn phân phối CloudFront có sẵn trong danh sách thả xuống Lưu ý: Một lần nữa, nếu bạn đang sử dụng một dịch vụ DNS khác, bạn sẽ cần cập nhật bản ghi CNAME từ đó để trỏ đến tên miền CloudFront Và bạn có nó rồi đấy! Trang web tuyệt đẹp của bạn hiện đã có tại miền tùy chỉnh và được cung cấp bằng HTTPS! Cảm ơn vì đã đọc! Tôi hy vọng hướng dẫn này hữu ích và thú vị, tôi rất muốn biết nếu bạn thấy nó hữu ích.