ดูเหมือนว่ามีสองวิธีในการโฮสต์เว็บไซต์แบบคงที่บน S3/CloudFront
- สร้างบัคเก็ต S3 ด้วยการเข้าถึงแบบสาธารณะเต็มรูปแบบและตั้งค่า Static Website เป็น Enabled + CloudFront config
- สร้างบัคเก็ต S3 ที่ไม่มีการเข้าถึงสาธารณะและตั้งค่า Static Website เป็น Disabled + CloudFront config
สิ่งที่ฉันไม่ชอบเกี่ยวกับ (1) คือข้อความสีแดง "อย่าทำสิ่งนี้" ที่จ้องมองสำหรับการเข้าถึงสาธารณะ แต่มันทำงานได้อย่างสมบูรณ์แบบ
สิ่งที่ฉันไม่ชอบเกี่ยวกับ (2) คือฉันสูญเสียเว็บไซต์แบบคงที่ที่ตั้งค่าเป็นเปิดใช้งานผลประโยชน์ เช่น ทุกอย่างเปลี่ยนเส้นทางอัตโนมัติไปที่ index.html
. ตอนนี้ฉันเห็นมี ต้นกำเนิด
วัตถุในการตั้งค่า CloudFront แต่ใช้ได้กับโดเมนฐานของฉันเท่านั้น (เช่น mysite.com
). เว็บไซต์ของฉันคือสปาและด้วย (1) ถ้าฉันไปที่ mysite.com/profile
มันจะถูกต้องไปที่ mysite.com/index.html
ฉันคิดว่าเป็นเพราะการเปลี่ยนเส้นทาง 404 ที่ฉันตั้งค่าไว้ แต่เมื่อ (2) ไปที่ mysite.com/profile
ไม่ใช่ 404 แต่เป็นการปฏิเสธการเข้าถึง 403 ซึ่งฉันคิดว่าไม่ฉลาดที่จะเปลี่ยนเส้นทางเหมือน 404
ดังนั้นฉันควรยึดติดกับตัวเลือก (1) แม้จะมีข้อความสีแดงที่จ้องมองเกี่ยวกับการเข้าถึงสาธารณะหรือไม่ หรือมีวิธีที่เหมาะสมในการทำ SPA โดยไม่ต้องมีการเข้าถึงสาธารณะ/การโฮสต์เว็บไซต์แบบคงที่หรือไม่?