ไม่สามารถเข้าถึง localhost จากคอมพิวเตอร์ที่ทำงานบนเครือข่ายเดียวกัน


0

ฉันกำลังทำงานกับคอมพิวเตอร์สองเครื่องในเครือข่ายเดียวกัน คอมพิวเตอร์ มีแอปที่ทำงานบน localhost: 4444 อย่างไรก็ตามฉันไม่สามารถเข้าถึงได้จากเบราว์เซอร์ของ คอมพิวเตอร์ B .

นี่คือสถานการณ์ของฉัน:

  • ฉันส่ง Ping เป็น IP และฉันได้รับคำตอบที่ประสบความสำเร็จ
  • ฉันพยายามเข้าถึงผ่านเบราว์เซอร์: http: //192.168.X.X: 4444
  • ฉันกำลังแชร์ไฟล์ในคอมพิวเตอร์ทั้งสองเครื่องผ่านเครือข่ายเดียวกัน

ใครช่วยได้ฉันช่วยทำงานนี้ได้ไหม


สำหรับบริการบนคอมพิวเตอร์ A มันเชื่อมต่อกับเฉพาะอะแดปเตอร์ localhost หรือการ์ดเชื่อมต่อเครือข่ายทั้งหมดหรือไม่ คอมพิวเตอร์ A สามารถเข้าถึงแอปได้ด้วยตัวเองโดยเชื่อมต่อกับ IP: พอร์ตหรือไม่ ไฟร์วอลล์บนคอมพิวเตอร์ A?
ivanivan

ไซต์ในโครงการ Visual Studio ใช้ iis express หรือไม่
Narzard

1
จากพรอมต์คำสั่งผู้ดูแลระบบให้ลองเพิ่มกฎเพื่ออนุญาตพอร์ต TCP 4444 ผ่าน Windows FW: netsh advfirewall firewall add rule name="TCP Port 4444" dir=in localport=4444 protocol=TCP action=allow. ทดสอบการเชื่อมต่อหลังจากนั้นจากเครื่องอื่น ๆ บนซับเน็ตเดียวกันและยืนยันว่าแก้ไขได้หรือไม่ คุณสามารถเรียกใช้ netsh advfirewall firewall delete rule name="TCP Port 4444" จากพรอมต์คำสั่งผู้ดูแลระบบระดับสูงเดียวกันเพื่อลบกฎหากไม่สามารถใช้งานได้
Pimp Juice IT

@ivanivan Computer A สามารถเข้าถึงได้ผ่าน localhost เท่านั้น ฉันได้ลองเชื่อมต่อคอมพิวเตอร์ A ผ่าน IP: พอร์ตแล้ว แต่หมดเวลา ฉันได้ลองเพิ่มกฎในการโทรออกและรับเข้าใน Windows Firewall และมันก็ไม่ต่าง
gespinha

1
ฟังดูแล้วเหมือนกับว่าเว็บเซิร์ฟเวอร์ที่คุณกำลังพยายามเชื่อมต่อ (บางทีอาจเป็นเซิร์ฟเวอร์การพัฒนาที่ติดตั้งในเว็บเฟรมเวิร์ก) เป็นเพียงการฟัง localhost เท่านั้น การรู้เพิ่มเติมเกี่ยวกับแอปพลิเคชันที่คุณพยายามเชื่อมต่อจะเป็นประโยชน์
Jason Huebel

คำตอบ:


2

เปิดหน้าต่างพร้อมรับคำสั่งและดำเนินการคำสั่งต่อไปนี้เพื่อยืนยันว่าเว็บแอปพลิเคชันของคุณกำลังรับฟังที่อยู่ IP ทั้งหมดหรือไม่:

netstat -a -o

คุณจะเห็นผลลัพธ์คล้ายกับที่แสดงต่อไปนี้:

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:135            JHUEBEL-VM:0           LISTENING       944
  TCP    192.168.0.173:5040     JHUEBEL-VM:0           LISTENING       5096

ฉันตัดทอนผลลัพธ์ด้านบนลงไปเป็นสองตัวอย่าง

สังเกตว่าบรรทัดแรกมีที่อยู่ IP "0.0.0.0" อย่างไร สิ่งนี้บ่งชี้ว่าบริการที่ใช้พอร์ต 135 (": 135") กำลังรับฟังที่อยู่ IP ทั้งหมด ซึ่งจะรวมถึง localhost (127.0.0.1) รวมถึงที่อยู่ IP ของ LAN (192.168.0.173)

แต่ถ้าคุณดูบรรทัดที่สองบริการที่ใช้พอร์ต 5040 จะฟังเฉพาะที่อยู่ IP ของ LAN (192.168.0.173) ดังนั้นฉันจะไม่สามารถเข้าถึงบริการนั้นผ่าน localhost

ดังนั้นสิ่งที่คุณกำลังมองหาคือบรรทัดที่เริ่มต้นดังนี้:

TCP    127.0.0.1:4444

หากคุณเห็น "127.0.0.1" (หรือที่อยู่ IP ใด ๆ ที่ขึ้นต้นด้วย "127. ") แสดงว่าแอปพลิเคชันเว็บที่คุณพยายามเข้าถึงนั้นเป็นเพียงการฟัง localhost และไม่สามารถเข้าถึงคอมพิวเตอร์ใน LAN

ดังนั้นคุณจะแก้ไขได้อย่างไร ขึ้นอยู่กับแอพพลิเคชั่น มันอาจจะต้องแก้ไขไฟล์ config หากไม่ทราบว่าแอปพลิเคชันที่คุณใช้อยู่นั้นไม่สามารถช่วยได้จริงๆ โปรดอัปเดต OP ด้วยข้อมูลเพิ่มเติมเกี่ยวกับแอปพลิเคชันและฉันจะพยายามช่วยเหลือเพิ่มเติม


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