ข้อสงสัยเกี่ยวกับการตั้งค่าพอร์ต Amazon Linux ami บน EC2


0

ฉันมีการตั้งค่าที่ง่ายมาก: รูปภาพ Ami ที่มีฟังก์ชั่น spring-boot / tomcat บนพอร์ต 8080 และ 8081 ฉันมีกลุ่มรักษาความปลอดภัยที่เปิดใช้งาน ping และ http จากรายการด้านล่างฉันสามารถดูพอร์ต 22, 8080 และ 8081 ฉันสามารถ ping จากแล็ปท็อปของฉันขด (ใช้ 127.0.0.1) ไปยังพอร์ต 808X โดยไม่มีปัญหา แต่คำขอไปที่ 127.0.0.1 ถูกปฏิเสธดังนั้นฉันไม่สามารถตรวจสอบได้ว่าการส่งต่อพอร์ตนั้นใช้งานได้

ฉันขาดอะไรจากการตั้งค่า ขอบคุณ !!

tcp        0      0 127.0.0.1:27017             127.0.0.1:43326             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43388             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43334             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43330             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43386             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43390             ESTABLISHED 
tcp        0      0 127.0.0.1:27017             127.0.0.1:43384             ESTABLISHED 
tcp        0      0 :::111                      :::*                        LISTEN      
tcp        0      0 :::8080                     :::*                        LISTEN      
tcp        0      0 :::8081                     :::*                        LISTEN      
tcp        0      0 :::35729                    :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 :::55233                    :::*                        LISTEN      
tcp        0      0 ::ffff:127.0.0.1:43328      ::ffff:127.0.0.1:27017      ESTABLISHED 

ปรับปรุง

ฉันยังพิมพ์:

sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
sudo service iptables save
sudo service iptables start
sudo service iptables status

และเมื่อฉันเพิ่ม "HTTP" (พอร์ต 80) ลงในกลุ่มความปลอดภัยฉันคิดว่าเพียงพอที่จะบอกให้ระบบปฏิบัติการส่งต่อคำขอได้ Tomcat / Spring-boot ทำงานบน 8080

อัพเดท 2

หากฉัน จำกัด การตั้งค่า http ของกลุ่มความปลอดภัยของฉันให้ใช้เฉพาะ ip ของฉันพอร์ตจะเปิดขึ้น คำสั่งชุดเดียวกัน


ฉันคิดว่าฉันตอบคำถามของคุณด้านล่าง แต่คุณพูดถึง "การส่งต่อพอร์ต" แม้ว่าจะไม่มีการกล่าวถึงการส่งต่อพอร์ตที่ใดก็ได้ในคำถามเว้นแต่คุณกำลังพูดถึงกฎความปลอดภัยของกลุ่มซึ่งฉันจะ ไม่เรียกว่า "การส่งต่อพอร์ต" "คำขอไปยัง 127.0.0.1 ถูกปฏิเสธ" ... คุณรู้หรือไม่ว่า 127.0.0.1 นั้นถูกต้อง?
Michael - sqlbot

@ ไมเคิล-sqlbot โปรดดูการปรับปรุง ขอบคุณมาก!
efekctive

"ถ้าฉัน จำกัด การตั้งค่า http ของกลุ่มความปลอดภัยให้ใช้เฉพาะ ip ของฉันพอร์ตจะเปิดขึ้นและการเปลี่ยนเส้นทางจะทำงาน" เอาล่ะเพื่อให้สิ่งที่กฎที่คุณใส่ลงในกลุ่มรักษาความปลอดภัยที่ไม่ได้ทำงานอย่างไร ฉันไม่เห็นว่าคุณอธิบายไว้ที่ไหน
Michael - sqlbot

Http, ssh และ icmp / ping http เดิมเป็นที่ใดที่หนึ่ง มันสร้างสองรายการ: หนึ่งสำหรับ IP4 และอีกรายการสำหรับ IP6 หลังจากลบและเพิ่มตัวเลือก "ip ของฉัน" ทุกอย่างทำงานตามที่คาดไว้ ผมจะพยายามใช้เพียง IP4 ในกลุ่มรักษาความปลอดภัยเพื่อดูว่ามันทำให้ความแตกต่างกับคราว
efekctive

คุณพูดว่า "http เพื่อใช้เฉพาะ IP ของฉัน" ดังนั้นฉันจึงถามคุณว่า IP ที่คุณเคยลองมาก่อนหน้านี้และคุณตอบว่า "http, ssh และ icmp / ping" และ "http ที่ใดก็ได้" คำศัพท์ของคุณค่อนข้างหลวม กฎกลุ่มความปลอดภัยประกอบด้วยบริการหรือโปรโตคอล + พอร์ต [+ ช่วง] หรือ "ทั้งหมด [โปรโตคอล]" หรือ "การรับส่งข้อมูลทั้งหมด" และข้อมูลจำเพาะของแหล่งข้อมูลโดยทั่วไปจะเป็นที่อยู่ IP หรือบล็อก CIDR โปรดอธิบายสิ่งเหล่านี้อย่างชัดเจนและครบถ้วน
Michael - sqlbot

คำตอบ:


0

วิธีแก้ปัญหาคือการลบกฎ http IP6 ออกจากกลุ่มความปลอดภัย ฉันคิดว่ามันอาจจะเกี่ยวข้องกับความจริงที่ว่า Tomcat ต้องการ prodding เพื่อทำงานกับ ip4 stack

ฉันไม่เห็นรายการ spring-boot สำหรับกรณีนี้ในเอกสารคุณสมบัติของแอปพลิเคชัน ดังนั้นแทนที่จะติดตั้ง Tomcat แบบสแตนด์อโลนวิธีแก้ปัญหานี้จึงใช้กลอุบาย

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