วิธีเปิดพอร์ตเว็บเซิร์ฟเวอร์บนอินสแตนซ์ EC2


96

ฉันใช้งานเว็บเซิร์ฟเวอร์ CherryPy ที่0.0.0.0:8787อินสแตนซ์ EC2

ฉันสามารถเชื่อมต่อกับเว็บเซิร์ฟเวอร์ผ่านโลคัลwgetบนเครื่อง EC2 แต่ฉันไม่สามารถเข้าถึงอินสแตนซ์จากเครื่องระยะไกลของฉันเองได้ (ฉันเชื่อมต่อกับ EC2 ผ่าน ssh)

ฉันจำเป็นต้องเปิดพอร์ต 8787 เพื่อเข้าถึงเว็บเซิร์ฟเวอร์จากระยะไกลหรือไม่? ถ้าเป็นเช่นนั้นจะทำได้อย่างไร? นอกจากนี้ฉันสามารถใช้ IP สาธารณะของอินสแตนซ์ EC2 สำหรับสิ่งนี้ได้หรือไม่


อาจซ้ำกันของการเปิดพอร์ต 80 EC2 Amazon web services
bain


50
ใช่ฉันควรคาดหวังว่าจะมีคนถามคำถามเดียวกันในอีกหนึ่งปีต่อมา
Cat

2
หากคุณกำลังเปิดพอร์ตที่ไม่ได้มาตรฐาน (เช่น 8787) บนอินสแตนซ์ EC2 และพยายามเข้าถึงโฮสต์จากเครือข่ายขององค์กร แต่ไม่สามารถทำได้อาจเป็นไปได้ว่าองค์กรของคุณกำลังบล็อกการเข้าถึงขาออกไปยังพอร์ตนั้น ในกรณีนี้ให้ตรวจสอบคำตอบนี้
Vinayak

คำตอบ:


140

ทำตามขั้นตอนที่อธิบายไว้ในคำตอบนี้แทนการใช้เมนูแบบเลื่อนลงพิมพ์พอร์ต (8787) ใน "ช่วงพอร์ต" แล้ว "เพิ่มกฎ"

Go to the "Network & Security" -> Security Group settings in the left hand navigation

ป้อนคำอธิบายภาพที่นี่ ค้นหากลุ่มความปลอดภัยที่อินสแตนซ์ของคุณอยู่นอกเหนือจาก Click on Inbound Rules ป้อนคำอธิบายภาพที่นี่ ใช้เมนูแบบเลื่อนลงและเพิ่ม HTTP (พอร์ต 80) ป้อนคำอธิบายภาพที่นี่ คลิก Apply and enjoy


ฉันไม่เห็น "ใช้" ฉันเห็นเฉพาะ "บันทึก" เมื่อฉันคลิก "บันทึก" มันไม่ได้เปิดพอร์ต 3000 ของฉันมีปุ่ม "สมัคร" อยู่ที่ไหนสักแห่ง?
Noitidart

1
@Noitidart Save คือสิ่งที่เขาหมายถึง แต่ฉันแน่ใจว่าตอนนี้คุณคงคิดออกแล้ว :)
mattdevio

ขอบคุณ @mattdevio - ดูเหมือนว่าจะใช้งานได้ แต่ไม่ได้มาจากสถานที่บางแห่งฉันคิดว่าฉันอาจทำบางอย่างผิดพลาด
Noitidart

นอกจากนี้ให้ตรวจสอบโซลูชันที่จัดทำโดย @SurajKj หากคุณกำลังจัดการกับอินสแตนซ์ Windows EC2 วิธีแก้ปัญหานั้นพร้อมกับวิธีนี้ใช้ได้ผลสำหรับฉัน
Utkarsh Gupta

ไม่ชัดเจนสำหรับฉันในทันทีจากคำแนะนำที่เชื่อมโยง แต่คุณควรเลือก "Custom TCP" มิฉะนั้นคุณจะไม่สามารถเปลี่ยนพอร์ตได้
KKOrange

31

คุณต้องเปิดพอร์ต TCP 8787 ใน ec2 Security Group นอกจากนี้ยังต้องเปิดพอร์ตเดียวกันบนไฟร์วอลล์ของอินสแตนซ์ EC2


มันใช้iptables?
Raffi Khatchadourian

มีลิงค์หรือบทช่วยสอนให้ทำอย่างไร?
Soumitri Pattnaik

5
คุณจะเปิดพอร์ตบนไฟร์วอลล์ของอินสแตนซ์ EC2 ได้อย่างไร
Mahshid Zeinaly


1
สำหรับ windows แล้ว ฉันไม่คิดว่าสำหรับ Ubuntu คุณต้องทำอะไร! เพียงเปิดกลุ่มความปลอดภัยสำหรับ Ubuntu
Mahshid Zeinaly

10

คุณต้องกำหนดค่ากลุ่มความปลอดภัยตามที่ cyraxjoe ระบุ นอกจากนี้คุณยังต้องเปิดพอร์ตระบบ ขั้นตอนในการเปิดพอร์ตใน Windows: -

  1. บนเมนูเริ่มคลิกเรียกใช้พิมพ์ WF.msc จากนั้นคลิกตกลง
  2. ใน Windows Firewall with Advanced Security ในบานหน้าต่างด้านซ้ายให้คลิกขวาที่กฎขาเข้าจากนั้นคลิกกฎใหม่ในบานหน้าต่างการดำเนินการ
  3. ในกล่องโต้ตอบชนิดกฎให้เลือกพอร์ตจากนั้นคลิกถัดไป
  4. ในกล่องโต้ตอบโปรโตคอลและพอร์ตให้เลือก TCP เลือกพอร์ตโลคัลเฉพาะจากนั้นพิมพ์หมายเลขพอร์ตเช่น 8787 สำหรับอินสแตนซ์เริ่มต้น คลิกถัดไป
  5. ในกล่องโต้ตอบการดำเนินการเลือกอนุญาตการเชื่อมต่อจากนั้นคลิกถัดไป
  6. ในกล่องโต้ตอบโปรไฟล์เลือกส่วนกำหนดค่าที่อธิบายสภาพแวดล้อมการเชื่อมต่อคอมพิวเตอร์เมื่อคุณต้องการเชื่อมต่อจากนั้นคลิกถัดไป
  7. ในกล่องโต้ตอบชื่อพิมพ์ชื่อและคำอธิบายสำหรับกฎนี้แล้วคลิกเสร็จสิ้น

Ref: - Microsoft Docs สำหรับการเปิดพอร์ต


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