ติดตั้ง SSL บน Amazon Elastic Load Balancer พร้อมใบรับรอง WildDoc ของ GoDaddy


9

ฉันติดตั้ง SSL Cert บน AWS Elastic Load Balancer เล็กน้อย ฉันมีใบรับรองไวด์การ์ดจาก GoDaddy และต้องชี้ไปที่ ELB

ฉันรันคำสั่ง (ฉันรันบนหนึ่งในเซิร์ฟเวอร์ที่อยู่เบื้องหลัง load balancer):

openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr

และจากนั้นฉันได้ส่งไฟล์. csr ไปที่ GoDaddy จุดที่พวกเขาได้กลับโฟลเดอร์ซิปที่มีสองไฟล์ในมันและgd_bundle.crt mydomain.com.crtgd_bundle.crt เมื่อดูจะมีสองคีย์ที่ไม่ซ้ำกันอยู่ภายใน (สองสตริงที่เข้ารหัส 64 ฐาน)

Amazon ELB กำลังขอรหัสสาธารณะและรหัสส่วนตัวและจากสิ่งที่ฉันทำฉันไม่แน่ใจว่ามันคืออะไร จากจุดนี้ฉันไม่แน่ใจว่าจะทำอย่างไรเพื่อให้ได้สิ่งทั้งหมดนี้

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.


ฉันพบคำตอบของ Stack Overflow stackoverflow.com/questions/6753619/…
Peter

คำตอบ:


9

คีย์ส่วนตัวคือ mydomain.key ซึ่งคุณสร้างขึ้นพร้อมกับ CSR

สิ่งที่ GoDaddy ส่งให้คุณคือกุญแจสาธารณะ (ไฟล์ใบรับรอง mydomain.com.crt ที่ลงนามโดย GoDaddy) รวมถึงห่วงโซ่ใบรับรองระดับกลางสำหรับ GoDaddy ที่ทำให้ห่วงโซ่ความไว้วางใจระหว่างใบรับรองของคุณกับเบราว์เซอร์ของผู้ใช้ปลายทาง รู้เกี่ยวกับ (ไฟล์ gd_bundle.crt)

ฉันไม่คุ้นเคยเป็นพิเศษกับ ELB แต่ดูที่หน้าเอกสารนี้:

http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/US_UpdatingLoadBalancerSSL.html

คุณจะจัดหาไฟล์ mydomain.key ของคุณสำหรับคีย์ส่วนตัวไฟล์ mydomain.com.crt สำหรับคีย์สาธารณะและไฟล์ gd_bundle.crt สำหรับห่วงโซ่ใบรับรอง


4

เพิ่ม Godaddy Cert ให้กับ EC2 ELB

ตั้งค่าอินเตอร์เฟสบรรทัดคำสั่ง AWS

คำแนะนำการติดตั้งอยู่ที่นี่: http://aws.amazon.com/cli/

กำหนดไฟล์ของคุณและรันคำสั่งเหล่านี้:

# define these
crtdomain="example.com"
crtchain="gd_bundle.crt"

echo "converting to pem format"
openssl rsa -in ${crtdomain}.key -out aws-${crtdomain}.key
openssl x509 -in ${crtdomain}.crt -out aws-${crtdomain}.crt -outform PEM

echo "uploading certificate ${crtdomain} to Amazon"
aws iam upload-server-certificate \
--certificate-body file://aws-${crtdomain}.crt \
--private-key file://aws-${crtdomain}.key \
--certificate-chain file://${crtchain} \
--server-certificate-name ${crtdomain}

แหล่งที่มา: http://brakertech.com/ec2-elb-godaddy-cert/


นี่เป็นทางออกเดียวที่ได้ผลสำหรับฉัน คนอื่นไม่มีประโยชน์ ขอบคุณ
Cerin

1

หากคุณเปิดไฟล์ของtext editorคุณคุณจะเห็น

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----


-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

โซ่อาจจะเป็น gd_bundle.crt

ป้อนคำอธิบายรูปภาพที่นี่
ฉันให้ฉันcertificate nameชื่อเดียวกับคีย์สาธารณะมาจากการทำรูปแบบข้อความของคีย์: (นี้จะเป็นเส้นทางไปยังแฟ้มของคุณบนเซิร์ฟเวอร์)mydomain.com.crt

Private Key
sudo openssl rsa -in /etc/ssl/certs/mydomain.key -text
/etc/ssl/certs/

Public Keyส่วนใหญ่มีแนวโน้มที่จะmydomain.com.crt

และความCertificate Chainต้องการจะเป็นgd_bundle.crt

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.