ฉันเป็น CloudFront Distribution ที่ใช้ AWS Certificate สำหรับคำขอ SSL/TLS ที่มาจาก https://example.com และต้นทางที่ส่งต่อคำขอเหล่านั้นไปยัง EC2
การกระจายถูกตั้งค่าให้ใช้โปรโตคอล HTTP ระหว่างตัวมันเองและต้นทาง (EC2) และพฤติกรรมถูกตั้งค่าเป็น เปลี่ยนเส้นทาง HTTP เป็น HTTPS เช่นใด ๆ http://example.com จะถูกเปลี่ยนเส้นทางไปที่ https://example.com.
EC2 มีเซิร์ฟเวอร์ Apache ที่ให้บริการไฟล์ แต่เมื่อฉันไปเยี่ยม https://example.com ทรัพยากรแบบคงที่ทั้งหมด (css, js) กำลังให้บริการผ่าน HTTP ซึ่งถูกบล็อกโดย broser เนื่องจาก กำลังโหลดเนื้อหาที่ใช้งานแบบผสม.
การกำหนดค่า Apache ปัจจุบันของฉันมีเพียงค่าเริ่มต้นเท่านั้น /etc/apache2/sites-enabled/000-default.conf กับ <VirtualHost *:80> และ <VirtualHost *:443> ไม่ได้อยู่. นอกจากนี้ฉันไม่ได้สร้าง <VirtualHost *:443> เนื่องจากฉันไม่มีใบรับรองและคีย์สำหรับ SSL
ฉันจะแก้ปัญหานี้ได้อย่างไร? เป็นไปได้หรือไม่ผ่าน reverse proxy? อะไรคือแนวปฏิบัติที่ดีที่สุดที่นี่?
อัปเดต:
การตั้งค่าของฉันเหมือนกับที่อธิบายไว้ในคำตอบนี้ แต่ไม่มี ELB https://stackoverflow.com/a/44453691/1197636.