Có vẻ như bạn đã hoàn thành hầu hết công việc rồi. Để rõ ràng, tôi sẽ xem lại các bước đó một lần nữa chỉ để đảm bảo rằng bạn đã thiết lập đúng cách:
Tạo nhóm s3 bằng cách sử dụng tên miền của bạn làm tên nhóm (tên nhóm của bạn phải là www.example.com nếu bạn muốn trang web của mình là example.com hoặc www.example.com)
Tải nội dung của bạn lên nhóm s3. Chọn một tên nhất quán cho các tệp chỉ mục trang web của bạn (thường là index.html). Bạn cũng có thể tải lên trang tùy chỉnh cho lỗi 404 Không tìm thấy. Gọi đây là 404.html. Cấp quyền Đọc cho mọi tệp trong trang web của bạn để công chúng có thể xem. Không cấp thêm bất kỳ quyền nào cho nhóm, chỉ cho các tệp bên trong.
Định cấu hình nhóm của bạn làm trang web. Với bảng điều khiển AWS ( https://console.aws.amazon.com/s3/ ), bạn có thể chọn nhóm của mình, nhấp vào thuộc tính, sau đó chọn tab "Trang web". Nhấp vào bật và đặt tài liệu chỉ mục của bạn thành "index.html" và tài liệu lỗi của bạn thành "404.html". Bạn cũng sẽ cần đặt nhóm của mình với quyền truy cập để cho phép truy cập qua web ( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )
Hãy ghi chú lại URL "Điểm cuối" trong tab cấu hình trang web. Đây là nơi trang web của bạn sống. Bạn có thể mở liên kết trong một cửa sổ mới và bạn sẽ thấy trang web của mình giống như giao diện của nó. Nhấp vào xung quanh và đảm bảo mọi thứ hoạt động như mong đợi.
Bạn PHẢI sử dụng địa chỉ điểm cuối trong tất cả các bước bên dưới. Www.example.com.s3.amazonaws.com thông thường sẽ không hoạt động - bạn cần sử dụng phiên bản khu vực ( http://www.example.com.s3-website-us-east-1.amazonaws.com/ )
Bây giờ, chúng tôi có thể thiết lập DNS để cung cấp cho bạn một URL tùy chỉnh, rõ ràng.
Đầu tiên, chúng tôi sẽ ánh xạ www.example.com với trang web của bạn.
Sử dụng các công cụ của nhà cung cấp DNS của bạn, (123-reg trong trường hợp của bạn), bạn cần tạo bản ghi CNAME để ánh xạ www.example.com với www.example.com.s3-website-us-east-1.amazonaws.com
CNAME là thứ duy nhất bạn cần nếu bạn chỉ muốn có www.example.com. Hầu hết mọi người cũng muốn "example.com" hoạt động vì vậy chúng tôi cần một bước nữa.
example.com thường được gọi là miền rỗng hoặc bản ghi đỉnh của miền. Lý do nó có vấn đề là nó không thể là CNAME. CNAME chỉ hoạt động trên các tên miền phụ như "www." Điều này làm cho việc chỉ vào s3 trở nên khó khăn hơn.
Cách tiếp cận thông thường là sử dụng một dịch vụ để tự động chuyển hướng bất kỳ yêu cầu nào đến example.com để trỏ đến www.example.com. Thao tác này sau đó sẽ nhận bản ghi CNAME của bạn và trang web của bạn sẽ được phục vụ từ s3.
Không thể tự động chuyển hướng với DNS cũ thuần túy, vì vậy bạn phải sử dụng dịch vụ khác. Một số nhà cung cấp DNS cung cấp dịch vụ này cùng với DNS của họ (godaddy thì có, amazon route53 thì không. Không chắc về 123-reg)
Nếu nhà cung cấp DNS của bạn không làm điều đó, có một số dịch vụ miễn phí. Một mà tôi đã sử dụng là http://wwwizer.com/naked-domain-redirect - nó không yêu cầu bất kỳ đăng ký hoặc thanh toán nào.
Để sử dụng loại dịch vụ này, bạn cần tạo bản ghi DNS "A" cho miền rỗng của mình. Đối với dịch vụ wwwizer.com, bạn cần tạo một bản ghi A để trỏ example.com tới 174.129.25.170. Đó là tất cả!
Vì vậy, với thiết lập này, nếu người dùng nhập example.com vào trình duyệt của họ, điều sau sẽ xảy ra:
- Truy vấn DNS: example.com -> 174.129.25.170 (dịch vụ của wwwizer.com)
- Yêu cầu HTTP tới 174.129.25.170 cho example.com
- 174.129.25.170 chuyển hướng example.com -> www.example.com
- Truy vấn DNS: www.example.com -> CNAME tới www.example.com.s3-website-us-east-1.amazonaws.com
- Truy vấn DNS: www.example.com.s3-website-us-east-1.amazonaws.com -> trỏ đến Amazon S3
- Yêu cầu HTTP cho www.example.com hiện được cung cấp bởi Amazon S3
Thưởng thức!