ไม่สามารถเลือกใบรับรอง SSL แบบกำหนดเอง (เก็บไว้ใน AWS IAM)


98

ฉันกำลังจะสร้างกระจายสินค้าแห่งใหม่ที่CloudFront ฉันได้อัปโหลดใบรับรอง SSL ที่ AWS IAM โดยใช้ AWS CLI แล้ว ใบรับรองนั้นปรากฏในดรอปดาวน์ใบรับรอง SSL แบบกำหนดเองในหน้าการแจกจ่ายใหม่ แต่ถูกปิดใช้งาน

ใครช่วยบอกทีว่าทำไมถึงเป็นอย่างนั้น? จะเลือกใบรับรอง SSL ที่กำหนดเองสำหรับการแจกจ่ายนี้ได้อย่างไร


คุณอัปโหลดใบรับรองโดยใช้บัญชีรูทหรือไม่
mohamnag

คำตอบ:


125

AWS ใช้เวลาทั้งวันในการเผยแพร่ใบรับรองใหม่ไปยังโหนดทั้งหมด วันถัดไปเมื่อฉันลงชื่อเข้าใช้คอนโซล AWS ใบรับรองจะปรากฏในดรอปดาวน์และเปิดใช้งานด้วยและฉันสามารถกำหนดค่าการแจกจ่ายได้สำเร็จ

นอกจากนี้อย่าลืมเลือกus-east-1(เวอร์จิเนียเหนือ) เมื่อคุณขอใบรับรอง เป็นภูมิภาคเดียวที่รองรับในขณะนี้ (แม้ว่าที่เก็บข้อมูล / สินทรัพย์ของคุณจะอยู่ในภูมิภาคอื่นก็ตาม)


3
รอมา 3 วันแล้วน่าเสียดาย
elsurudo

12
ทำซ้ำใบรับรองในเวอร์จิเนียเหนือช่วยแก้ปัญหาของฉัน มีการรับรองแปลก ๆ จริง ๆ แล้วมีสถานะปัญหาที่แตกต่างกันในภูมิภาคต่างๆ ... lol
Neekey

3
เมื่อสร้างการแจกจ่าย CloudFront ใหม่ Amazon ระบุเฉพาะว่า "คุณสามารถใช้ใบรับรองที่เก็บไว้ใน AWS Certificate Manager (ACM) ในภูมิภาคสหรัฐอเมริกาฝั่งตะวันออก (เวอร์จิเนียเหนือ) หรือคุณสามารถใช้ใบรับรองที่เก็บไว้ใน IAM ได้"
Shea

6
ตามทั้งdocs.aws.amazon.com/acm/latest/userguide/acm-services.htmlและaws.amazon.com/certificate-manager/faqs "ในการใช้ใบรับรอง ACM กับ CloudFront คุณต้องขอหรือนำเข้า ใบรับรองในภูมิภาคสหรัฐอเมริกาฝั่งตะวันออก (เวอร์จิเนียเหนือ) "
Big Pumpkin

ฉันสร้างใบรับรองโดยใช้ภูมิภาค N. Virgin ใน ACM และการตรวจสอบ DNS ใช้งานได้ใน 10 นาที
Deepan Prabhu Babu

39

เฉพาะใบรับรองที่ลงทะเบียนใน AWS Certificate Manager (ACM) ในภูมิภาคสหรัฐอเมริกาฝั่งตะวันออก (เวอร์จิเนียเหนือ) เท่านั้นที่จะเปิดใช้งานเพื่อใช้ใน CloudFront


3
ดีที่มีการบันทึกไว้บางแห่ง: D
Baconbeastnz

30
  • นำเข้าใบรับรองไปยัง IAM หรือสร้างผ่าน ACM ใน us-east-1 ตามที่กล่าวไว้ในความคิดเห็นอื่น ๆ

  • รอให้การตรวจสอบความถูกต้องสมบูรณ์เช่นไม่ใช่สีส้ม

  • โหลดหน้าแก้ไขการตั้งค่าการแจกจ่าย cloudfront
  • หากตัวเลือก SSL ที่กำหนดเองเป็นสีเทาให้ออกจากระบบคอนโซลและกลับเข้าสู่ระบบอีกครั้งหลังจากขั้นตอนนี้ตัวเลือกที่เป็นสีเทาจะมีชีวิตชีวาสำหรับฉัน ฉันคิดว่ามันถูกแคชและการล็อกเอาต์ล็อกเอาต์จะรีเฟรช

3
อะไร?! ตอนนี้เป็นปี 2020 แล้วนี่ยังคงเป็นการแก้ไข
y3sh

3
ใช่ฉันเสียเวลาไปหนึ่งชั่วโมงในชีวิตเพื่อที่จะรู้ว่าคุณต้องออกจากระบบและเข้าสู่ระบบ ...
peter_v

นี่คือคำตอบที่ดีที่สุด มันออกจากระบบ / เข้าสู่ระบบซึ่งในที่สุดก็แก้ไขสิ่งนี้ให้ฉันหลังจากลงทะเบียนใบรับรอง ACM ของฉัน
MillerMedia

19

เพียงแค่รอไม่กี่นาทีและโหลดdistribution settingsหน้าเว็บเพื่อดูตัวเลือก SSL ที่กำหนดเองเปิดใช้งาน

ผมมีปัญหาเดียวกันไม่ได้ใช้ของฉันAWSบัญชี root และเส้นทางที่ถูกกำหนดอย่างถูกต้องIAM/cloudfront/


15

ลงชื่อเข้าใช้คอนโซลและใช้ URL นี้: https://console.aws.amazon.com/acm/home?region=us-east-1#/wizard/และจะใช้งานได้ ที่สำคัญคือภูมิภาค


2
ใช่สิ่งนี้ใช้ได้ผลทันทีสำหรับฉันด้วย (จากนั้นฉันก็กลับไปและลบใบรับรองที่ฉันทำภายใต้ภูมิภาค = us-west-2)
Terje Dahl

14

ฉันมีปัญหาที่คล้ายกันและทำให้ฉันสามารถนำเข้าใบรับรองไปยัง AWS Certificate Manager ได้อย่างราบรื่นมากขึ้น

หากคุณใช้ AWS Certificate Manager กับที่เก็บ S3 ตรวจสอบให้แน่ใจว่าคุณนำเข้าใบรับรองไปยังภูมิภาคสหรัฐอเมริกาฝั่งตะวันออก (เวอร์จิเนียเหนือ) ณ วันนี้นั่นเป็นภูมิภาคเดียวใน ACM ที่รองรับ S3 ดูhttps://docs.aws.amazon.com/acm/latest/userguide/acm-services.html


2
จับได้เห็นชัดตรงเผง! นี่คือทางออกสำหรับปัญหานี้ - ขอบคุณ Ryan
EdsonF

3
นี่คือทางออก! ลิงก์ที่เกี่ยวข้องเพิ่มเติม: docs.aws.amazon.com/acm/latest/userguide/acm-regions.html : หากต้องการใช้ใบรับรอง ACM กับ Amazon CloudFront คุณต้องขอหรือนำเข้าใบรับรองในภูมิภาคสหรัฐอเมริกาฝั่งตะวันออก (เวอร์จิเนียเหนือ) . ใบรับรอง ACM ในภูมิภาคนี้ที่เชื่อมโยงกับการแจกจ่าย CloudFront จะกระจายไปยังตำแหน่งทางภูมิศาสตร์ทั้งหมดที่กำหนดค่าสำหรับการแจกจ่ายนั้น
illagrenan


5

สาเหตุที่ไม่ปรากฏในตอนนี้น่าจะเป็นเพราะเส้นทาง iam ที่คุณตั้งไว้ไม่ใช่ / cloudfront / [1] คุณสามารถใช้ cli เดียวกับที่คุณใช้ในการอัปโหลดใบรับรองเพื่อเปลี่ยนเส้นทางเริ่มต้นของ / หรือคุณสามารถอัปโหลดใบรับรองอีกครั้ง โปรดแจ้งให้เราทราบหากไม่สามารถแก้ไขได้

  1. http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS

4

ตรวจสอบให้แน่ใจว่าคุณไม่ได้อัปโหลดใบรับรองโดยใช้บัญชีรูท AWS หากคุณใช้บัญชีรูทใบรับรองจะปรากฏให้เห็น แต่คุณจะไม่สามารถเลือกได้

ให้สร้างผู้ใช้ IAM ใหม่ที่มีสิทธิ์เพียงพอ (ฉันใช้บัญชีที่มีการกำหนดนโยบายการดูแลระบบ) และอัปโหลดใบรับรองโดยใช้ข้อมูลรับรองเหล่านั้น ใบรับรองควรจะพร้อมใช้งาน


สิ่งนี้ใช้ได้ผลสำหรับฉันฉันสร้างใบรับรองในฐานะผู้ใช้รูท แต่การตั้งค่า SSL ที่กำหนดเองถูกปิดใช้งานเมื่อแก้ไขการแจกจ่ายแม้ว่าฉันจะเห็นใบรับรองเป็นตัวเลือกในเมนูแบบเลื่อนลง หลังจากสร้างผู้ใช้ผู้ดูแลระบบและลงชื่อเข้าใช้ด้วยบัญชีนั้นตัวเลือกนั้นจะไม่ถูกปิดใช้งานอีกต่อไป
Simon L. Brazell

3

หากคุณกำลังขอใบรับรองในภูมิภาคอื่น (ไม่ใช่ us-east-1) ให้ตั้งค่าภูมิภาคของคุณเป็นus-east-1และขอใบรับรองอีกครั้ง ฉันขอชื่อโดเมนเดียวกันในap-Northeast-2และใช้งานได้ทันที


1

ใช้สิ่งนี้:

{
"Effect": "Allow",
"Action": [
    "iam:DeleteServerCertificate",
    "iam:UploadServerCertificate",
    "iam:ListServerCertificates",
    "iam:GetServerCertificate"
],
    "Resource": "*"
}

1
สวัสดี @ d.balu โปรดให้คำอธิบายเพิ่มเติมสำหรับคำตอบของคุณได้ไหม
toti08

1

ในกรณีของฉันไม่ได้ร้องขอ ACM ในภูมิภาคเหนือของเวอร์จิเนียหลังจากสถานะ ACM เปลี่ยนเป็นสีเขียวฉันต้องออกจากระบบและเข้าสู่ระบบเพื่อเปิดใช้งานปุ่ม


0

ฉันเห็นว่ามีคำตอบที่ดีมากมายอยู่แล้วและบางส่วนอาจเป็นสาเหตุที่ทำให้Custon SSL Certificateส่วนของคุณปิด ฉันคิดว่าฉันเพิ่งเจออีกอันหนึ่งและนี่คือกรณีของฉัน:

สำหรับ "บริการรวม" จำนวนมากที่มี CloudFront รองรับอัลกอริทึมและขนาดคีย์เพียงไม่กี่ขนาดเท่านั้น ฉันพยายามใช้ใบรับรอง RSA 4096 บิตและคีย์ที่มีความยาวเพียงพอ

ณ ตอนนี้สำหรับการใช้งานกับ "บริการรวม" AWS ยอมรับเฉพาะคีย์ความยาว 1024 หรือ 2048 บิต

กล่าวถึงที่นี่: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-prerequisites.html


0

หากใบรับรองไม่ปรากฏในรายการแบบเลื่อนลงคุณสามารถคัดลอกและวาง ARN แบบเต็มสำหรับใบรับรองได้ พบ ARN ในตัวจัดการใบรับรองโดยการเลือกใบรับรองที่คุณต้องการใช้


0

บัญชีราก AWS ไม่สามารถเลือกใบรับรองที่กำหนดเองใน CloudFront ได้

โปรดสร้างผู้ใช้ IAM ใหม่โดยใช้นโยบายด้านล่างและสร้างการแจกจ่าย CloudFront กับผู้ใช้นั้นและคุณสามารถเลือกใบรับรอง SSL ที่กำหนดเองได้

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": ["*"],
    "Resource": ["*"]
  }]
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.