การกำหนด localhost จากเครื่องเสมือน VirtualBox


785

ฉันมีเซิร์ฟเวอร์ทดสอบ / พัฒนาในท้องถิ่น (แน่นอนว่า HTTP) ฟังพอร์ต 8000

ฉันทำงานกับ Linux ดังนั้นเพื่อทดสอบหน้าเว็บใน Internet Explorer 6, 7, 8 เป็นต้นฉันใช้งานเครื่องเสมือนโดยใช้ VirtualBox ฉันต้องดูว่ามันมีลักษณะอย่างไรใน Firefox ในสภาพแวดล้อมหน้าต่าง (แบบอักษรสำหรับอินสแตนซ์นั้นแตกต่างกัน)

ในเครื่องจริงของฉันฉันเปิดเว็บไซต์โดยใช้ URL http://localhost:8000ฉันจะระบุที่อยู่ localhost นี้จากเครื่องเสมือนได้อย่างไร

ตอนนี้วิธีแก้ปัญหาของฉันคือใช้ที่อยู่ IP มีความคิดที่ดีกว่านี้ไหม?


38
ฉันไม่อยากจะเชื่อเลยว่ามันยังน่าเบื่อ ฉันใช้ VB มานานหลายปีแล้วและแม้ว่ามันจะทำให้ผมง่ายขึ้น แต่มันก็ยังคงเป็นอุปสรรคหลักและตัวเลือกการเชื่อมต่อเครือข่ายยังยากที่จะเข้าใจและมันก็ยังไม่สามารถใช้งานได้ตามที่ต้องการ เพื่อใช้สำหรับ น่าจะมีหลายแสนคนใช้ VB เพื่อทดสอบเว็บไซต์ (หรือแอพ) บนแพลตฟอร์มที่แตกต่างกันบนโลคอลโฮสต์ เป็นความคิดที่เหลือเชื่อที่จะคิดว่าต้องใช้เวลาและความยุ่งยากเท่าไรในการปรับปรุงซอฟต์แวร์นี้
Rolf

ดูคำถามเดียวกันได้ที่ superuser.com: superuser.com/questions/310697/…
Purplejacket

คำตอบ:


939

Googling ทำให้เกิดสิ่งนี้ขึ้น: http://data.agaric.com/localhost-from-virtualbox-xp-install-ubuntu

มันแนะนำให้ใช้ IP: http://10.0.2.2และมันใช้งานได้สำหรับฉัน

ดังนั้นฉันจึงแก้ไขไฟล์โฮสต์C:\windows\system32\drivers\etc\hostsและเพิ่มรายการนี้:

10.0.2.2   outer

หากคุณกำลังทดสอบกับ IE8 อย่าลืมใส่http://ในแถบที่อยู่ เพียงแค่วางไอพีโดยตรงจะไม่ทำงาน

ตัวอย่างเช่น:

http://10.0.2.2:3000/

7
ฉันสังเกตเห็นใน ipconfig (Windows ใน VirtualBox) ว่าเราเตอร์เริ่มต้นสำหรับ VirtualBox ของฉันคือที่อยู่ IP ... เพื่อให้เหมาะสมกับฉัน
benc

48
เพื่อให้สามารถบันทึกการแก้ไขของคุณลงในไฟล์โฮสต์ให้เปิดตัว Notepad โดยคลิกขวาแล้วเลือก "Run As Administrator"
Noah Sussman

25
ฉันต้องเปลี่ยนAttached toการตั้งค่าVirtualBox Network ของฉันจากBridged Adapterเป็นNATเป็นเพื่อให้ใช้งานได้สำหรับฉัน
ทรอยฮาร์วีย์

1
คุณยังสามารถตั้งค่าเป็น 10.0.2.2 localhost ใน VM config เพื่อให้แน่ใจว่าเส้นทางที่แน่นอนจะได้รับการแก้ไขอย่างถูกต้อง
Mario Peshev

5
ฉันต้องเข้าใช้งานlocalhostไม่ได้10.0.2.2เนื่องจากผู้ดูแลระบบที่ต้องการ localhost เป็นที่อยู่ :(
Dominic

408

MacOS

ฉันใช้ Virtual Box บน macOS (OS X ก่อนหน้านี้) โดยใช้ Virtual Box เพื่อทดสอบ IE บน Windows ฯลฯ

ไปที่ IE ในกล่องเสมือนและการเข้าถึงlocalhostผ่านทางhttp://10.0.2.2สำหรับlocalhostหรือสำหรับhttp://10.0.2.2:3000localhost:3000

ฉันตั้งค่าเครือข่ายเป็น NAT ไม่จำเป็นต้องเชื่อมต่อบริดจ์ตามที่แนะนำไว้ข้างต้นในกรณีของฉัน ไม่จำเป็นต้องแก้ไขไฟล์ปรับแต่งใด ๆ


39
จริง ๆ แล้วฉันต้องเพิ่ม 'http: //' ด้านหน้าของที่อยู่ IP เพื่อให้ทำงานได้ (กล่อง IE8 / WinXP)
wrtsprt

8
แต่มีวิธีใดในการทำแผนที่ 10.0.2.2 ไปยัง localhost: 8888? ฉันมี localhost: 8888 เป็น url บ้านในฐานข้อมูลของฉัน ไปที่ 10.0.2.2 ใน VB โหลดหน้า HTML แต่ลิงก์ทั้งหมดพังเพราะพวกเขากำลังชี้ไปที่ localhost: 8888
Michael Giovanni Pumo

@MichaelGiovanniPumo กับความรู้ที่ดีที่สุดของฉันคุณไม่สามารถแมป URL ไปยังพอร์ตเฉพาะโดยตรงได้ คุณต้องระบุพอร์ตอย่างชัดเจน
Jonathan Lin

2
@ JonathanLin ฉันแก้ไขมันโดยเพียงแค่จับคู่ 10.0.2.2 กับ localhost บนไฟล์โฮสต์ Win7 และทำงานได้กับพอร์ต: 8888 ต่อไปดังนั้นตอนนี้มันก็ใช้งานได้แล้ว ขอบคุณ
Michael Giovanni Pumo

Marvelous กำลังทำงาน, macOS Sierra เวอร์ชั่น 10.12.5 และ virtualbox v 5.1.22
Tabares

82

เพื่อเปิดใช้งานสิ่งนี้บน OSX ฉันต้องทำสิ่งต่อไปนี้:

  1. ปิดเครื่องเสมือนของคุณลง
  2. ไปที่VirtualBox Preferences -> Network -> Host-only Networks ->คลิกไอคอน "+" คลิกตกลง
  3. เลือกกล่องของคุณและคลิก"Settings" icon -> Network -> Adapter 2 ->ที่ "แนบกับ:" เลื่อนลงเลือก "อะแดปเตอร์โฮสต์เท่านั้น" และเครือข่ายของคุณ ( vboxnet0) ควรแสดงด้านล่างโดยค่าเริ่มต้น คลิกตกลง
  4. เมื่อคุณเริ่มต้นกล่องใหม่อีกครั้งคุณควรจะสามารถเข้าถึง localhost ที่ http://10.0.2.2/

คุณสามารถอ้างอิงถึงlocalhostและเข้าถึงไซต์ที่โฮสต์ในเครื่องอื่น ๆ โดยเพิ่มการอ้างอิงไปยังไฟล์โฮสต์ ( C:\windows\system32\drivers\etc\hosts) ดังนี้:

10.0.2.2    localhost
10.0.2.2    subdomain.localhost

4
โซลูชันนี้ใช้งานได้สำหรับฉันด้วยการปรับเปลี่ยนเล็กน้อย: หลังจากสร้างอะแด็ปเตอร์ Host-only ใหม่ (vboxnet0) แล้วให้แก้ไขอะแดปเตอร์ ในหน้าต่างที่ปรากฏขึ้นให้ไปที่แท็บ Adapter และคัดลอกIPv4 Address(เช่น192.168.56.1) จากนั้นเมื่อคุณเริ่มต้น VM ให้เปิดเบราว์เซอร์ของคุณแล้วไปที่http://192.168.56.1:3000
Robert

ทำงานได้ทั้งบน xp และ windows 7
Sukeerthi Adiga

1
น่าเสียดายที่ฉันไม่สามารถแก้ไขโดเมนย่อยได้ฉันได้ดำเนินการตามคำตอบที่ยอมรับเพื่อตรวจสอบว่าไฟล์โฮสต์ทำงานบน Win10 ได้ตามที่คาดไว้: serverfault.com/questions/452268/ แนวคิดใด ๆ
danjah

ทำงานบนเครื่องโฮสต์ MacOs High Serra และผู้เข้าพัก Windows 7
Kapitula Alexey

6
ฉันไม่พบตัวเลือก "เครือข่ายสำหรับเครือข่ายเท่านั้น"
Jason Moore

56

คุณมักจะตั้งเครือข่ายของเครื่องเสมือนเป็น NAT หากคุณตั้งค่าเครือข่ายของคุณเป็นบริดจ์คุณควรจะสามารถเข้าถึงเครื่องโฮสต์ของคุณด้วยชื่อโฮสต์ ตัวอย่างเช่นถ้าชื่อโฮสต์ของคุณคือ“jsmith แม่นยำ-7510” และคุณต้องการที่จะเปิดhttp: // localhost: 3000 /คุณจะสามารถที่จะดูหน้าว่าที่http: // jsmith แม่นยำ-7510: 3000 /

เพื่อหาชื่อโฮสต์ของคุณเปิด terminal / hostnameคอนโซลและจากนั้นเรียกใช้คำสั่ง ชื่อโฮสต์ของคุณจะถูกส่งออกในบรรทัดถัดไป

ดูเอกสารประกอบ VirtualBoxสำหรับคำแนะนำเกี่ยวกับวิธีตั้งค่าการตั้งค่าเครือข่ายเป็นบริดจ์


hmm ด้วยเหตุผลบางอย่าง gui (บนเครื่องของฉัน) ไม่มีตัวเลือกนี้!
hasen

คุณใช้เวอร์ชั่นอะไร ฉันพบว่าบน Mac เอกสารคู่มือพื้นฐานบางฉบับนั้นแตกต่างกันโดยสิ้นเชิง
benc

รักทางออกนี้ โปรดทราบว่าใน Windows รุ่นเก่าคุณจะไม่สามารถใช้งานได้whatever.localจนกว่าคุณจะติดตั้ง Bonjour
Marc-André Lafortune

41

ฉันต้องไปที่ virtualbox และเปลี่ยนการตั้งค่าเครือข่ายเป็น 'NAT' หลังจากนั้นฉันสามารถกดlocalhostรันบนเครื่องโฮสต์จากตัวจำลองบน virtualbox ถึงhttp://10.0.2.2:3000


เมื่อเร็ว ๆ นี้ (2019) ฉันดาวน์โหลด Microsoft Windows 7 IE10 guest VM (โฮสต์ของฉันคือ MacOS Sierra) และมีปัญหามากมายเกี่ยวกับการตั้งค่าเครือข่าย ดังนั้นในที่สุดฉันก็ทิ้งมันลงถังขยะและดาวน์โหลด Microsoft Windows 7 IE11 guest VM จากนั้นฉันตั้งเป็นเครือข่าย 'NAT' และสามารถเข้าถึงโฮสต์ของโฮสต์ผ่านทางhttp://10.0.2.2ตรงตามที่อธิบายไว้ที่นี่โดย @Pytth
Purplejacket

นี่ควรเป็นคำตอบที่ยอมรับได้
lots0logs

35

หากคุณมีอะแดปเตอร์ต่ออยู่กับNATทุกวันนี้จะดีกว่าและสวยงามกว่าวิธีแก้ปัญหาเพื่อตั้งค่าการส่งต่อพอร์ตไปยังพอร์ตในเครื่อง

Settings> Network> Adapter> Advanced>Port forwarding

เพียงแค่แทรกกฎใหม่และตั้งค่าHost portและGuest portเป็น80(สำหรับ http) หรือ22(สำหรับ ssh) และอื่น ๆ

จากนั้นคุณสามารถเข้าถึงเครื่องนั้นโดยป้อนเพียง http://localhost

คุณอาจต้องการเปลี่ยน NAT เป็นโหมดโปร่งใส


8
@Boris สิ่งที่คุณอธิบายในที่นี้คือวิธีการรับจากโฮสต์ไปยังเซิร์ฟเวอร์ของแขก (พอร์ต) แต่คำถามก็เกี่ยวกับอีกด้านหนึ่ง
Petr Bodnár

เพราะเมื่ออยู่ที่ BT Home Hub นี่เป็นตัวเลือกเดียวที่เหมาะกับฉัน
Hashim Akhtar

33

ฉันพบว่าใช้10.0.2.2:<port>งานได้ แต่เฉพาะเมื่อตั้งโหมด Promiscuous ไว้อย่างถูกต้อง หลังจากติดตั้ง VM ของฉันฉันไปที่การตั้งค่า> เครือข่าย> อะแดปเตอร์ 1

NAT ถูกตั้งค่าตามค่าเริ่มต้นและโหมดแบบเลื่อนลง Promiscuous จะถูกปิดใช้งาน ฉันเปลี่ยนจาก NAT เป็น Bridged Adapter ซึ่งเปิดใช้งานดรอปดาวน์โหมด Promiscuous แล้วเปลี่ยนค่าจาก "ปฏิเสธ" เป็น "อนุญาต VM" ฉันเปลี่ยนกลับไปเป็น NAT ซึ่งปิดใช้งานโหมด Promiscuous อีกครั้ง แต่เก็บค่าใหม่ไว้

หลังจากนั้นเพียงการเปลี่ยนแปลงนี้ผมก็สามารถที่จะเปิดตัว VM ของฉันและดูเครื่องโฮสต์ของฉัน localhost:<port>ใน VM 10.0.2.2:<port>ของฉันที่


1
ฉันใช้ Windows 7 เป็นเครื่องโฮสต์และ Windows 10 ในฐานะแขกในที่สุดโซลูชันนี้ก็ใช้ได้กับฉันใน VirtualBox 4.3.30 r 10.16.10 ขอบคุณ!
Micer

ฉันเพิ่งติดตั้ง Window 10 บนกล่องเสมือนและนี่ก็เป็นเคล็ดลับ!
captainill

สิ่งนี้ใช้ได้กับฉันเช่นกันเมื่อรวมกับคำแนะนำของ spsaucier ทำตามคำแนะนำของเขาจากนั้นฉันเปิดใช้งานโหมด Promiscuous - เปิดใช้งานทั้งหมด
DyeA

31

ไม่สามารถส่งคำขอไปยัง localhost อีกครั้งใน VM ไปยังโลคัลโฮสต์ของโฮสต์ได้ในขณะนี้อบเข้าสู่ Windows ( https://tools.ietf.org/html/rfc6761#section-6.3 ) รวมถึง VM ที่https: //developer.microsoft.com/en-us/microsoft-edge/tools/vms/

เพื่อให้เกิดความปลอดภัยอีกครั้ง Microsoft จะป้องกันรายการโฮสต์ไฟล์เพื่อแทนที่ที่อยู่ของ localhost กับสิ่งอื่นนอกเหนือจากที่อยู่ลูปแบ็ค :: 1 ดังนั้นการเพิ่มบรรทัดไฟล์โฮสต์ของ VM เช่น

10.0.2.2 localhost

จะถูกละเว้น

มีสองวิธี (ที่ฉันรู้) เพื่อแทนที่สิ่งนี้:

1) ใช้ NETSH เพื่อ portproxy ไปยังโฮสต์

netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=8000 connectaddress=10.0.2.2 connectport=8000

(โดยที่ 10.0.2.2 เป็นเกตเวย์เริ่มต้นบน VM และ 8000 เป็นพอร์ตที่คุณต้องการแก้ไขในโฮสต์)

2) ตั้งค่า IIS เพื่อดำเนินการคำขอเส้นทางและเขียนคำร้องขอสำหรับ localhost: พอร์ตไปยัง hostIP: พอร์ต

https://docs.microsoft.com/en-us/iis/extensions/configuring-application-request-routing-arr/creating-a-forward-proxy-using-application-request-routing


7
ฉันใช้วิธี NETSH ทำงานเหมือนจับใจ นี่คือ IMO คำตอบที่ดีที่สุด
เหลียงโจว

1
ฉันใช้ NETSH ด้วยทำงานเหมือนเวทมนตร์ นี่คือคำตอบที่ดีที่สุดของฉันเช่นกัน มันเป็นสิ่งเดียวที่ทำงานได้
Van_Paitin

netshเป็นสิ่งที่ช่วยฉันฉันพยายามทุกอย่างที่ฉันพบบนอินเทอร์เน็ต แต่ไม่ประสบความสำเร็จ สิ่งนี้จะอนุญาตให้เข้าถึง<protocol>://localhost:<port>แทนที่จะเข้าถึงโดยตรงโดย IP นี่ควรเป็นคำตอบที่ได้รับการยอมรับสำหรับ Windows 10
Octavian Lari

นี่ควรเป็นคำตอบที่ได้รับการยอมรับตามที่มีความเกี่ยวข้องและมีผู้ที่ทำงานอยู่ในปัจจุบัน
IAmJulianAcosta

26

MacOS

หากคุณต้องการตั้งค่าสภาพแวดล้อมของ Windows ด้วย Virtualbox บน mac เพียงใช้การตั้งค่า NAT เริ่มต้นบนอะแดปเตอร์และใน Windows VM ของคุณไปที่ไฟล์โฮสต์และเพิ่มรายการต่อไปนี้:

10.0.2.2       localhost
10.0.2.2       127.0.0.1

แตกต่างจากคำตอบข้างต้นสิ่งสำคัญคือต้องรวมทั้งสองบรรทัดไม่เช่นนั้นจะไม่ทำงาน


6
มันใช้งานได้ดีกับภาพ modern.ie สำหรับการดีบั๊กเช่น / edge บน Mac ซึ่งเป็นวิธีที่ฉันมาถึงคำถามนี้ การปรับเปลี่ยนของ Windows 10 ของ Windows 10 ไม่อนุญาตให้โดเมน localhost ผ่านทางไฟล์โฮสต์ (บ้า) วิธีแก้ปัญหาคือการเปิดใช้ IIS และการตั้งค่าพร็อกซี่กลับผ่านมันบรรลุเดียวกันในขั้นตอนอื่น ๆ อีกมากมาย: มีข้อยกเว้นคือdeveloper.microsoft com / en-us / microsoft-edge / platform /
problems

@MaxPRafferty คุณสามารถใช้งานได้หรือไม่ ฉันเคยผ่านทุกอย่างอื่นในหัวข้อนี้เพื่อประโยชน์ ฉันได้อัปเดตไฟล์โฮสต์ของฉันตามคำแนะนำนี้และปฏิบัติตามขั้นตอนในลิงค์นั้น มันค่อนข้างคลุมเครือเล็กน้อยว่าจะประกาศที่ 10.0.2.2 ในขั้นตอนที่ 7 มันจะไปที่ไหนในกฎ? ตอนนี้ฉันไปยังหน้า IIS อย่างไม่ลดละบน Windows VM Localhost ของฉัน
David Weber

@ DavidWeber ใช่ฉันเป็น - ฉันได้ยื่นข้อผิดพลาดนั้นจริง ๆ แล้วฉันยังคงมีภาพนั้นอยู่ 10.0.2.2 ต้องเข้าสู่ "action url" ซึ่งแสดงรายการเป็น "rewrite url" ในหน้าจอแก้ไข: หน้าเขียนใหม่หลัก: user-images.githubusercontent.com/1894398/… , user-images.githubusercontent.com/1894398/ …แก้ไขหน้ากฎ: user-images.githubusercontent.com/1894398/…
MaxPRafferty

@ MaxPRafferty ขอบคุณสำหรับความช่วยเหลือและลิงค์ ฉันยังไม่สามารถใช้งานได้ ช่างเป็นเรื่องง่ายและฉันไม่แน่ใจว่าปัญหาอยู่ตรงไหนในตอนนี้ ฉันได้ทำตามสิ่งนี้เพื่อ 't' และยังคงไม่มีอะไรแม้แต่เมื่อพยายามแนะนำเครือข่ายประเภทอื่น ๆ ดูเหมือนว่าฉันอาจซื้อพีซีด้วย ณ จุดนี้
David Weber

3
ฉันไม่คิดว่ามันจะทำงานได้อีกต่อไปแล้วในขณะนี้ว่า Windows รุ่นใหม่จะแปลง localhost ด้วย DNS ของพวกเขา ฉันไม่คิดว่า 127.0.0.1 สามารถเปลี่ยนเส้นทางเช่นนี้ได้ (เฉพาะชื่อโฮสต์)
kossmoboleat

22

คุณต้องแก้ไขไฟล์โฮสต์ของคุณบนเครื่อง Windows Virtual ของคุณแบบเดียวกับที่ทำกับเครื่องโฮสต์:

C: \ WINDOWS \ system32 \ Drivers \ etc \ เจ้าภาพ

และเชื่อมโยงโฮสต์เสมือนของคุณกับ 10.0.2.2 หากคุณใช้ localhost อยู่ให้แทนที่

127.0.0.1 localhost กับ 10.0.2.2 localhost

ตัวอย่างเช่น:

10.0.2.2 localhost
10.0.2.2 local.site1.com
10.0.2.2 local.site2.com

สิ่งนี้จะบอกเครื่องเสมือนของคุณให้ชี้ไปที่เครื่องท้องถิ่นของคุณสำหรับชื่อโดเมนเหล่านั้น


ขอบคุณสิ่งนี้ช่วยในกรณีของฉัน (เรียกใช้เว็บไซต์ท้องถิ่นใน docker กับ nginx) - การเข้าถึง IP direclty (10.0.2.2) เพียงแค่ให้ข้อผิดพลาด nginx
ggzone

22

คุณไม่จำเป็นต้องเปลี่ยนไฟล์โฮสต์หรือการกำหนดค่า Virtual Box ใด ๆ รักษาการตั้งค่าใน NAT ไปที่อินสแตนซ์ Windows ของคุณและเรียกใช้ "cmd" หรือเปิด cmd.exe ดำเนินการคำสั่ง "ipconfig" และรับที่อยู่ IP ของเกตเวย์เริ่มต้น เรียกดูhttp://10.0.2.2:8080บน Windows IE คุณจะเห็นเหมือนกับ Mac Safari http: // localhost: 8080 /หรือhttp://127.0.0.1:8080


1
localhostเมื่อเซิร์ฟเวอร์การพัฒนาท้องถิ่นได้อ้างอิงการพัฒนาเชื่อมโยงกับ (เช่น webpack-dev-server)
kube

คือ10.2.2.3 or .4อะไร ฉันสามารถ ping ได้.2เช่นกัน - VM คือ Windows Server ที่ทำงานภายใต้ Windows Server
ycomp

10

ในที่สุดการรวมกันของบางสิ่งก็ทำให้การทำงานของฉันจบลง เล่นเซิร์ฟเวอร์ขวดบน macosx

ใน Windows VM ของฉันฉันแก้ไขไฟล์โฮสต์:

  • เรียกใช้ Notepad ในฐานะผู้ดูแลระบบ
  • เปิด C:\windows\system32\drivers\etc\hosts
  • เพิ่มรายการนี้: 10.0.2.2 outer

ปิดระบบ VM และบน Mac ของฉันใน VirtualBox:

  • ไปที่ VirtualBox > preferences > Network > Host-only Networks > +เพื่อเพิ่มเครือข่ายvboxnet1
  • My_VM > settings > Network > Adapter 1ไปที่
  • เลือกEnable Network Adapterและการตั้งค่าไป Attached to:Bridged Adapter
  • จากนั้นตั้งค่าไป Advanced > Promiscuous Mode:Allow VMs
  • คลิก OK
  • My_VM > settings > Network > Adapter 1ไปที่
  • ชุดกลับไป Attached to:NAT

จากนั้นฉันก็ไปที่ Adapter 2

  • ตั้งค่าAttached to:การและเลือกเครือข่ายที่เพิ่มขึ้นก่อนหน้านี้ Host-only Adaptervboxnet1

ฉันเริ่มต้นเซิร์ฟเวอร์ของฉันบน mac ของฉันทำงาน127.0.0.1:5000และตอนนี้ก็สามารถเข้าถึงได้บน vm ของฉันที่http://10.0.2.2:5000

เป็นคนฝันร้ายที่จะทดสอบบน IE บน mac ไม่มีวิธีที่ง่ายกว่านี้อย่างไร?


1
ฉันหวังว่าฉันจะสามารถลงคะแนนได้พันครั้ง นี่เป็นสิ่งเดียวที่ทำงานหลังจากค้นหาวิธีที่ง่ายกว่าเช่นแก้ไขไฟล์โฮสต์และใช้การตั้งค่า NAT เริ่มต้น - ไม่มีโพสต์ใดที่แก้ไขปัญหาของฉันได้ ฉันใช้ MacOS Sierra ด้วย VM ของ IE11 บน Win81 จากdeveloper.microsoft.com/en-us/microsoft-edge/tools/vmsในกรณีที่คอมโบช่วยคนอื่นที่นี่
Manu Kanthan

FWIW ฉันพยายามย้อนกลับการตั้งค่าทั้งหมดแล้วลบ VirtualBox และติดตั้งใหม่นำเข้า VM จาก Microsoft อีกครั้ง ฉันเริ่มเซิร์ฟเวอร์ rails ของฉันด้วยrails s -b 127.0.0.1และเข้าถึงจาก VM ทั้งหมดที่http://10.0.2.2:3000ใช้งานได้ ฉันสงสัยว่าการเปลี่ยนแปลงการตั้งค่าจากด้านบนอย่างใดอ้อยอิ่งไปรอบ ๆ แม้หลังจากกลิ้งมันทั้งหมดกลับมา
มนูกานธาน

1
นี่ไม่ใช่เรื่องเดียวกันสำหรับฉันโดยเฉพาะขั้นตอนสำหรับอะแดปเตอร์ 2 ฉันต้องใช้การตั้งค่า Nat Adapter เพื่อให้มันเป็นvboxnet1แต่มันก็จบลงด้วยการทำงาน ขอบคุณสำหรับปม!
jfunk

4

ฉันแก้ไขโดยการเพิ่มการส่งต่อพอร์ตในการตั้งค่า Virtualbox ภายใต้เครือข่าย โฮสต์ IP ตั้งพอร์ต 127.0.0.1: 8080 แขก ip: ให้ IP ใด ๆ สำหรับเว็บไซต์ (พูดว่า 10.0.2.5) พอร์ต: 8080 ตอนนี้จากการเข้าถึงเครื่องของผู้เยี่ยมชมhttp://10.0.2.5:8080โดยใช้ IE


3

ในกล่องเสมือนดังที่กล่าวไว้ด้านบนคุณสามารถเพิ่มไฟล์โฮสต์บรรทัดนี้

10.0.2.2   outer

แต่หากต้องการบันทึกหากคุณไม่มีผู้ดูแลระบบใน VM ของคุณเพียงแค่ย้ายไฟล์โฮสต์ไปยังเดสก์ท็อปจากนั้นแก้ไขเพื่อเพิ่มบรรทัด 10.0 .... ด้านนอกบันทึกไฟล์และย้ายไปยังตำแหน่งเดิม


2

ตรวจสอบว่าคุณสามารถเข้าถึงเครื่องแม่ของคุณด้วย: ipconfig (รับที่อยู่ ip ของคุณ)

ping <ip> หรือ telnet <ip> <port>

หากคุณไม่สามารถไปที่พอร์ตได้ให้ลองเพิ่มกฎขาเข้าใหม่ในไฟร์วอลล์หลักของคุณเพื่ออนุญาตให้พอร์ตในเครื่อง

ฉันสามารถเข้าถึงได้แล้ว http://<ip>:<port>


2

ในกล่องเสมือน

  1. ตั้งค่าเครือข่ายของคุณเป็น Bridge networking
  2. ไปที่โหมดตั้งค่าขั้นสูง Promiscuous: อนุญาตทั้งหมด

ตอนนี้บิตที่ยุ่งยากก็คือโลคัลโฮสต์ของคุณหากคุณกำลังเรียกใช้จาก Node.js ตั้งค่าที่อยู่ IP เป็น 0.0.0.0 จากนั้นค้นหาที่อยู่ IP ของคุณเองเช่น cmd: ipconfig -> 10.0.1.3

พิมพ์ที่อยู่นั้นด้วยหมายเลขพอร์ต และมันจะทำงาน


1

ขั้นตอนทั่วไป:

  • เครือข่ายทั่วไป (เพิ่มเฉพาะโฮสต์หรือบริดจ์ NIC)
  • กำหนดค่าบริการที่ต้องการเพื่อฟังบนอินเทอร์เฟซที่เหมาะสม
  • ใช้ IP: พอร์ตเพื่อเข้าถึงบริการเป้าหมายใช้ IP ที่เป็นของเครือข่ายที่ใช้ร่วมกัน

0

บน Windows ที่มี Windows เสมือน 7 สิ่งเดียวที่ใช้ได้ผลสำหรับฉันคือการใช้NAT และการส่งต่อพอร์ต (ไม่สามารถเชื่อมต่อบริดจ์ได้) ฉันพบบทช่วยสอนที่นี่: http://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/เลื่อนลงไปที่ ส่วนที่มี "การส่งต่อพอร์ตไปยังเครื่องเสมือน ")

ด้วยการเปลี่ยนแปลงนี้ฉันสามารถเข้าถึงเว็บไซต์ xampp ด้วย " http: //192.168.xx.x: 8888 / mywebsite " ใน internet explorer 10 บนเครื่องเสมือนของฉัน

ฉันพบ IP ในแผงควบคุม XAMPP> Netstat ("System")


0

หากคุณใช้ Virtual Box คุณสามารถเชื่อมต่อ Mac OSX (และฉันคิดว่า Linux) กับเครื่อง windows virtual ของคุณโดยใช้รหัสหนึ่งบรรทัด -> ฉันขอแนะนำให้หยุดกล่องก่อนที่จะรันใน terminal

VBoxManage modifyvm "YOUR VM NAME" --natdnshostresolver1 on

ฉันจะทราบว่านี่มาจาก Dinghy docs ซึ่งฉันกำลังใช้งานอยู่ แต่เป็นกล่องคำสั่งเสมือนดังนั้นจึงไม่ควรสนใจสิ่งที่คุณใช้ตราบเท่าที่กล่องเสมือนจริง


0

ฉันต้องทำงานบน localhost ไม่ใช่ IP แปลก ๆ

1) จากเทอร์มินัล Mac ของคุณทำiconfig -aเพื่อค้นหาที่อยู่ IP ท้องถิ่นของคุณ มันอาจเป็นอันสุดท้าย

en7: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=10b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV> ether 38:c9:86:32:0e:69 inet6 fe80::ea:393e:a54f:635%en7 prefixlen 64 secured scopeid 0xe inet 10.1.5.60 netmask 0xfffffe00 broadcast 10.1.5.255 nd6 options=201<PERFORMNUD,DAD> media: autoselect (1000baseT <full-duplex,flow-control>) status: active

เช่น 10.1.5.60

2) บูตอิมเมจ windows ของคุณ start> พิมพ์cmdเพื่อรับเทอร์มินัล

3) notepad c:\windows\system32\drivers\etc\hosts

4) เพิ่มบรรทัดต่อไปนี้ 10.1.5.60 localhost

5) เปิด IE และ url ต่อไปนี้ควรกดเซิร์ฟเวอร์ที่ทำงานบน mac ของคุณ: http://localhost:3000/


ที่จริงแล้วดูเหมือนว่าจะแบ่ง URL โฮสต์ในเครื่องออกจากเบราว์เซอร์ Mac
Jason Moore

-2

รับ IP สำหรับเครื่องที่ใช้ Apache (inet addr: in ifconfig) และป้อนลงในแถบที่อยู่ของเบราว์เซอร์กล่องเสมือน


-3

ที่จริงแล้วคำตอบของผู้ใช้ 477494 นั้นถูกต้องในหลักการ

ฉันใช้ตรรกะเดียวกันในสภาพแวดล้อมอื่น ๆ (โฮสต์ OS X - เสมือน Windows XP) และนั่นก็เป็นเคล็ดลับ ฉันต้องวนรอบLAMP host เพื่อรับ IP address และพอร์ต Apache เพื่อแก้ไข แต่เมื่อฉันคิดออกแล้วฉันก็หัวเราะ


คุณสามารถให้คำแนะนำเกี่ยวกับวิธีการตั้งค่า / ค้นหา IP บนเครื่อง OSX ได้หรือไม่?
cukabeka

? ไม่แน่ใจว่าที่อยู่ของคุณ - ที่อยู่ของคอมพิวเตอร์สามารถพบได้ผ่านทางระบบ / เครือข่าย -> ที่อยู่ IP โดยพื้นฐานแล้วเป็นที่อยู่ที่ Macine จะตอบกลับจากภายนอก ภายใน localhost: 80 ควรทำเพื่อเซิร์ฟเวอร์ apache ของ osx - ในขณะที่ MAMP จะใช้ localhost: 8888 โดยค่าเริ่มต้น
orionrush

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