ดูเหมือนว่าคุณทำงานส่วนใหญ่ไปแล้ว เพื่อความชัดเจนฉันจะดำเนินการตามขั้นตอนเหล่านั้นอีกครั้งเพื่อให้แน่ใจว่าคุณได้ตั้งค่าอย่างถูกต้อง:
สร้างที่เก็บข้อมูล s3 โดยใช้ชื่อโดเมนของคุณเป็นชื่อที่เก็บข้อมูล (ชื่อที่เก็บข้อมูลของคุณควรเป็น www.example.com หากคุณต้องการให้ไซต์ของคุณเป็น example.com หรือ www.example.com)
อัปโหลดเนื้อหาของคุณไปยังถัง s3 เลือกชื่อที่สอดคล้องกันสำหรับไฟล์ดัชนีเว็บไซต์ของคุณ (โดยปกติ index.html) คุณยังสามารถอัปโหลดเพจที่กำหนดเองสำหรับข้อผิดพลาด 404 Not Found เรียกสิ่งนี้ว่า 404.html ให้สิทธิ์อ่านทุกไฟล์ในเว็บไซต์ของคุณเพื่อให้บุคคลทั่วไปสามารถดูได้ อย่าให้สิทธิ์พิเศษใด ๆ กับที่เก็บข้อมูลเฉพาะไฟล์ที่อยู่ภายใน
กำหนดค่าที่เก็บข้อมูลของคุณเป็นเว็บไซต์ ด้วยคอนโซล AWS ( https://console.aws.amazon.com/s3/ ) คุณสามารถเลือกที่เก็บข้อมูลคลิกคุณสมบัติจากนั้นเลือกแท็บ "เว็บไซต์" คลิกเปิดใช้งานและตั้งค่าเอกสารดัชนีของคุณเป็น "index.html" และเอกสารข้อผิดพลาดของคุณเป็น "404.html" คุณจะต้องตั้งค่าที่เก็บข้อมูลของคุณด้วยสิทธิ์การเข้าถึงเพื่ออนุญาตการเข้าถึงผ่านเว็บ ( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )
จด URL "ปลายทาง" ในแท็บการกำหนดค่าเว็บไซต์ นี่คือที่ที่เว็บไซต์ของคุณอาศัยอยู่ คุณสามารถเปิดลิงก์ในหน้าต่างใหม่และคุณจะเห็นเว็บไซต์ของคุณในลักษณะที่ปรากฏ คลิกไปรอบ ๆ และตรวจสอบให้แน่ใจว่าทุกอย่างทำงานตามที่คาดไว้
คุณต้องใช้ที่อยู่ปลายทางในทุกขั้นตอนด้านล่างนี้ www.example.com.s3.amazonaws.com แบบปกติจะไม่ทำงานคุณต้องใช้เวอร์ชันภูมิภาค ( http://www.example.com.s3-website-us-east-1.amazonaws.com/ )
ตอนนี้เราสามารถตั้งค่า DNS เพื่อให้คุณมี URL ที่กำหนดเองที่ชัดเจน
ขั้นแรกเราจะจับคู่ www.example.com กับไซต์ของคุณ
ใช้เครื่องมือของผู้ให้บริการ DNS (123-reg ในกรณีของคุณ) คุณต้องสร้างระเบียน CNAME เพื่อแมป www.example.com กับ www.example.com.s3-website-us-east-1.amazonaws.com
CNAME เป็นสิ่งเดียวที่คุณต้องการหากคุณต้องการแค่ www.example.com คนส่วนใหญ่ยังต้องการให้ "example.com" ทำงานดังนั้นเราจึงต้องไปอีกขั้น
example.com มักเรียกว่าโดเมนเปล่าหรือบันทึกส่วนบนของโดเมน สาเหตุที่ทำให้เกิดปัญหาคือไม่สามารถเป็น CNAME ได้ CNAME ใช้งานได้เฉพาะกับโดเมนย่อยเช่น "www." ทำให้ชี้ไปที่ s3 ได้ยากขึ้น
วิธีการปกติคือการใช้บริการเพื่อเปลี่ยนเส้นทางโดยอัตโนมัติคำขอใด ๆ ที่ไปที่ example.com เพื่อชี้ไปที่ www.example.com จากนั้นจะรับระเบียน CNAME ของคุณและไซต์ของคุณจะได้รับจาก s3
การเปลี่ยนเส้นทางอัตโนมัติไม่สามารถทำได้ด้วย DNS เก่าธรรมดาดังนั้นคุณต้องใช้บริการอื่น ผู้ให้บริการ DNS บางรายเสนอบริการนี้พร้อมกับ DNS ของตน (GoDaddy ทำ, amazon route53 ไม่มีไม่แน่ใจเกี่ยวกับ 123-reg)
หากผู้ให้บริการ DNS ของคุณไม่ดำเนินการดังกล่าวมีบริการฟรีบางอย่าง ที่ฉันเคยใช้คือhttp://wwwizer.com/naked-domain-redirectซึ่งไม่ต้องลงทะเบียนหรือชำระเงินใด ๆ
ในการใช้บริการประเภทนี้คุณต้องสร้างระเบียน DNS "A" สำหรับโดเมนเปล่าของคุณ สำหรับบริการ wwwizer.com คุณจะต้องสร้างระเบียน A เพื่อชี้ให้ example.com ไปที่ 174.129.25.170 นั่นคือทั้งหมด!
ดังนั้นด้วยการตั้งค่านี้หากผู้ใช้พิมพ์ example.com ในเบราว์เซอร์สิ่งต่อไปนี้จะเกิดขึ้น:
- แบบสอบถาม DNS: example.com -> 174.129.25.170 (บริการของ wwwizer.com)
- HTTP ขอไปที่ 174.129.25.170 สำหรับ example.com
- 174.129.25.170 เปลี่ยนเส้นทาง example.com -> www.example.com
- แบบสอบถาม DNS: www.example.com -> CNAME ถึง www.example.com.s3-website-us-east-1.amazonaws.com
- แบบสอบถาม DNS: www.example.com.s3-website-us-east-1.amazonaws.com -> ชี้ไปที่ Amazon S3
- ขณะนี้คำขอ HTTP สำหรับ www.example.com ให้บริการโดย Amazon S3
สนุก!