Score:0

ใช้งาน certbot บนอินสแตนซ์ ECS

ธง gh

ฉันกำลังพยายามเรียกใช้ certbot บนอินสแตนซ์ ECS ซึ่งกำลังเรียกใช้อิมเมจนักเทียบท่า (docker.io/existdb/teipublisher) ภาพทำงานได้ดีและฉันได้เชื่อมโยงกับโดเมนย่อยที่กำหนดเอง teipub.dh-dev.com ใช้ IP แบบยืดหยุ่น

การพยายามติดตั้งและเรียกใช้ certbot เพื่อให้ฉันสามารถเชื่อมต่อ Https ได้พิสูจน์แล้วว่ายากอย่างน่าประหลาดใจ

ทำงานในฐานะ root ฉันติดตั้ง nginx ด้วย:

sudo amazon-linux-extras รายการ | grep nginx
sudo amazon-linux-extras เปิดใช้งาน nginx1
sudo yum ข้อมูลเมตาที่สะอาด
sudo yum -y ติดตั้ง nginx

ตามนั้นครับ สิ่งนี้จาก nginx ฉันสร้าง /etc/nginx/conf.d/teipub.dh-dev.com.conf ด้วยเนื้อหา:

เซิร์ฟเวอร์ {
    ฟัง 80 default_server;
    ฟัง [::]:80 default_server;
    รูท /var/www/html;
    server_name teipub.dh-dev.com;
}

แต่ตอนนี้เมื่อวิ่ง sudo nginx -c /etc/nginx/nginx.conf เพื่อรีโหลดการกำหนดค่าใหม่ที่ฉันได้รับ ป้อนคำอธิบายรูปภาพที่นี่

ซึ่งสมเหตุสมผลสำหรับฉันเพราะเมื่อฉันสร้างคำจำกัดความของงานเพื่อเรียกใช้อิมเมจของฉันบนคลัสเตอร์ ECS ฉันใช้การแมปพอร์ตระหว่าง hostPorts 80 และ 443 และ containerPorts ที่สอดคล้องกัน ซึ่งหมายความว่ามีบางอย่างกำลังรับฟังอยู่บนพอร์ต 80 (เช่นเดียวกับ 443) .

วิ่ง sudo systemctl สถานะ nginx, sudo systemctl สถานะ httpd หรือ sudo systemctl สถานะ apache2 บนอินสแตนซ์ ECS EC2 ที่สะอาดซึ่งกำลังเรียกใช้อิมเมจนักเทียบท่าไม่พบบริการเหล่านั้น ดังนั้นจึงไม่ได้ติดตั้ง nginx ให้ทำงานคนเดียวก่อนที่ฉันจะพยายามเรียกใช้

คำถามของฉันคือไม่มีเว็บเซิร์ฟเวอร์ในอินสแตนซ์ ECS อยู่แล้วหรือ มันคืออะไรและฉันสามารถติดตั้ง certbot ได้หรือไม่ หรืออื่น ๆ กำลังฟังอะไรอยู่บนพอร์ต 80

อีกทางหนึ่ง - มีวิธีอื่นในการใช้ certbot กับอินสแตนซ์ ECS หรือไม่

BTW และฉันไม่คิดว่าสิ่งนี้เกี่ยวข้อง โดเมนหลักของฉัน (dh-dev.com และ www.dh-dev.com) อนุญาตการเชื่อมต่อ https อาจผ่านใบรับรองที่ผู้ให้บริการโฮสติ้งของฉันให้มา

===อัพเดท===

ตามความคิดเห็นของ @dave_thompson_085 ตอนนี้ฉันเข้าใจแล้ว (ดูภาพด้านล่าง) ว่ากระบวนการที่เรียกว่า นักเทียบท่าพร็อกซี กำลังฟังพอร์ต 80 และ 443 ซึ่งเป็นสาเหตุที่ฉันไม่สามารถใช้ nginx เพื่อกำหนดค่า certbot บนพอร์ตเหล่านี้ได้ ความคิดใด ๆ เกี่ยวกับความคืบหน้ายินดีเป็นอย่างยิ่ง ...

ป้อนคำอธิบายรูปภาพที่นี่

dave_thompson_085 avatar
jp flag
คุณพูดว่า "ไม่ได้ติดตั้ง nginx" แต่คุณได้ `sudo yum install -y nginx` ซึ่งติดตั้งไว้ แม้ว่า TTBOMK เพียงอย่างเดียวไม่ควรเริ่มต้น `httpd` และ `apache2` ไม่ใช่ชื่อของ nginx; ทำ `sudo systemctl status nginx` แล้วคุณจะเห็นและดูว่ากำลังทำงานอยู่หรือไม่
gh flag
@dave_thompson_085 ``sudo systemctl สถานะ nginx`` บนอินสแตนซ์ ECS EC2 ที่สะอาดสร้าง ``ไม่พบหน่วย nginx.service`` แก้ไขคำถามที่สะท้อนให้เห็นว่า
dave_thompson_085 avatar
jp flag
nginx ไม่ได้ติดตั้งบนอินสแตนซ์ใหม่ทั้งหมด แต่จะถูกติดตั้งหลังจากที่คุณทำสี่คำสั่งที่คุณระบุไว้ภายใต้ "ฉันติดตั้ง nginx ด้วย" และก่อนที่คุณจะลอง (อย่างชัดเจน) เพื่อเรียกใช้ นั่นคือเวลาที่ฉันคิดว่าคุณกำลังพูดถึง อย่างไรก็ตาม ทำ `sudo ss -antp | grep -e :80 -e :443` หรือถ้าคุณต้องการ `netstat` แทน `ss` เพื่อดูว่าจริง ๆ แล้วอะไรกำลังทำงานบนพอร์ตเหล่านั้น
gh flag
ขอบคุณ! เรียกใช้คำสั่ง ss และมีกระบวนการที่เรียกว่า ``docker-proxy`` กำลังฟังอยู่บนพอร์ต 80 และ 443 ดังนั้นคำถามยังคงอยู่ จะใช้ certbot (หรือโซลูชันการเปิดใช้งาน SSL อื่น ๆ) กับการตั้งค่านี้ได้อย่างไร

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา