พอร์ตกำลังฟังบนโลคัลโฮสต์: 8000 แต่ไม่ใช่บน ip: 8000


9

สวัสดีฉันกำลังเรียกใช้เว็บแอปพลิเคชันบนพอร์ต 8000 เมื่อฉันเข้าถึงจากโฮสต์เซิร์ฟเวอร์ในพื้นที่: 8000 ตอบสนองได้แล้ว 127.0.0.1:8000 ก็ใช้งานได้ แต่ 192.168.1.7:8000 ไม่ทำงาน 192.168.1.7 เป็น ip ของเซิร์ฟเวอร์ของฉัน

นอกจากนี้ถ้าฉันลองไปที่เว็บแอปพลิเคชันอื่นที่ทำงานบนพอร์ต 80 มันใช้งานได้ 192.168.1.7

ฉันเปิดใช้งานไฟร์วอลล์ ufw และตั้งค่าอนุญาตเริ่มต้นเป็น ฉันใช้เซิร์ฟเวอร์อูบุนตู 12.04

คำแนะนำใด ๆ เกี่ยวกับสาเหตุที่ฉันไม่สามารถไปที่แอพของฉันบนพอร์ต 8000 โดยใช้ที่อยู่ IP: 8000 ได้

ขอบคุณล่วงหน้า!


1
แอปพลิเคชันอาจฟังที่อยู่ localhost (127.0.0.1) มากกว่าที่อยู่ในเครื่องทั้งหมด (0.0.0.0) คุณยังไม่ได้ให้ข้อมูลเพียงพอเกี่ยวกับแอพของคุณเพื่อให้คนอื่นช่วยคุณแก้ไข
James Henstridge

แอพของฉันทำงานบนพอร์ต 8000 เป็นเพียงเว็บไซต์ บางทีสำเนา netstat นี้ / วางจะเปิดเผยเพิ่มเติมเกี่ยวกับเครือข่ายของฉัน:
Marionette

3
การวิ่งnetstat -tln | grep 8000อาจทำให้เกิดปัญหาขึ้นได้ หากที่อยู่ในท้องถิ่นของเซิร์ฟเวอร์นั้นเป็น127.0.0.1:8000มากกว่า0.0.0.0:8000นั้นก็จะสามารถเข้าถึงได้ผ่านทางอินเตอร์เฟซย้อนกลับ
James Henstridge

ตรวจสอบ iptables ของคุณ

คำตอบ:


5

ขณะที่ @JamesHenstridge ชี้ให้เห็นพฤติกรรมที่คุณสังเกตเห็นไม่ใช่เพราะ Ubuntu บล็อกแอปพลิเคชันของคุณบน IP บางตัว แต่เนื่องจากแอปพลิเคชันของคุณเชื่อมโยงกับลูปแบ็คท้องถิ่น (127.xxx) อย่างชัดเจน อย่างน้อยถ้าคุณไม่ได้ติดตั้งและตั้งค่าไฟร์วอลล์ให้บล็อกพอร์ตนั้นโดยเฉพาะ

คุณต้องศึกษาเอกสารประกอบของแอปพลิเคชันของคุณเพื่อดูว่ามีการตั้งค่าเพื่อให้ฟังบนอินเทอร์เฟซอื่น (หรือทั้งหมด)


คุณคุ้นเคยกับการส่งต่อพอร์ตบนเราเตอร์ของคุณหรือไม่ หากคุณกำลังจะเชื่อมต่อกับอินเทอร์เน็ตจากพอร์ต 8000 คุณต้องส่งต่อพอร์ต 8000 ไปยัง ip ของเครื่องนั้น
wlraider70

0

ในไฟล์การกำหนดค่าเดียวของแอปพลิเคชันของคุณคุณควรตั้งค่าแอปพลิเคชันของคุณให้ฟังภายนอก externalIP: yourport หมายความว่ามีไฟล์กำหนดค่าที่คุณสามารถค้นหาคำสั่งบอกให้แอปพลิเคชันฟัง 127.0.0.1:xxxx หรือ localhost: xxxx นี่คือ IP ที่จะเปลี่ยนด้วย IP ภายใน (เช่น: 192.168.1.40) หรือ IP ภายนอก

บางครั้ง IP localhost ควรถูกแทนที่ด้วย 0.0.0.0:xxxx ซึ่งหมายความว่าแอปพลิเคชันควรตอบคำขอจาก IP ใด ๆ

Iptables อาจช่วยส่งต่อแพ็กเก็ตจาก IP ภายในไปยัง IP ภายนอก

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