Saya memiliki server uji / pengembangan lokal (HTTP, tentu saja), mendengarkan port 8000.
Saya bekerja di Linux, jadi untuk menguji halaman di Internet Explorer 6, 7, 8, dll. Saya menjalankan mesin virtual menggunakan VirtualBox; Saya juga perlu melihat tampilannya di Firefox di lingkungan windows (font misalnya berbeda).
Di mesin asli saya, saya membuka situs web hanya menggunakan URL http://localhost:8000
, bagaimana cara saya mengatasi localhost ini dari mesin virtual?
Saat ini solusi saya adalah menggunakan alamat IP. Ada ide yang lebih baik?
Jawaban:
Googling mengaktifkan ini: http://data.agaric.com/localhost-from-virtualbox-xp-install-ubuntu
Itu menyarankan menggunakan IP:,
http://10.0.2.2
dan itu bekerja untuk saya.Jadi, saya mengedit file hosts
C:\windows\system32\drivers\etc\hosts
,, dan menambahkan entri ini:Jika Anda menguji pada IE8, ingatlah untuk memasukkan
http://
bilah alamat. Menempatkan ip secara langsung tidak akan berfungsi.Sebagai contoh:
sumber
Attached to
pengaturan Jaringan VirtualBox dariBridged Adapter
untukNAT
agar ini berfungsi untuk saya.localhost
bukan10.0.2.2
karena beberapa auth menyebalkan yang ingin localhost sebagai alamat :(macOS
Saya menjalankan Virtual Box di macOS (sebelumnya OS X), menggunakan Virtual Box untuk menguji IE di Windows, dll.
Pergi ke IE di Virtual Box dan akses
localhost
viahttp://10.0.2.2
forlocalhost
, orhttp://10.0.2.2:3000
forlocalhost:3000
.Saya menyimpan pengaturan Jaringan sebagai NAT, tidak perlu menjembatani seperti yang disarankan di atas dalam kasus saya. Tidak perlu mengedit file konfigurasi.
sumber
Untuk mengaktifkan ini di OSX saya harus melakukan hal berikut:
VirtualBox Preferences -> Network -> Host-only Networks ->
ikon "+". Klik OK."Settings" icon -> Network -> Adapter 2 ->
dropdown "Terlampir ke:", pilih "Host-only Adapter" dan jaringan Anda (vboxnet0
) akan muncul di bawah secara default. Klik OK.http://10.0.2.2/
Anda dapat merujuknya dengan
localhost
dan mengakses situs host lokal lainnya dengan menambahkan referensi mereka ke file host (C:\windows\system32\drivers\etc\hosts
) seperti berikut:sumber
IPv4 Address
(misalnya192.168.56.1
). Kemudian begitu Anda memulai VM, buka browser Anda dan pergi kehttp://192.168.56.1:3000
Anda kemungkinan besar mengatur jaringan mesin virtual Anda ke NAT. Jika Anda mengatur jaringan Anda ke Bridged Anda harus dapat mengakses mesin host Anda dengan nama hostnya. Misalnya, jika nama host Anda adalah "jsmith-Precision-7510" dan Anda ingin membuka http: // localhost: 3000 / , Anda akan dapat melihat halaman itu di http: // jsmith-Precision-7510: 3000 / .
Untuk menemukan nama host Anda, buka terminal / konsol dan kemudian jalankan perintah
hostname
. Nama host Anda akan ditampilkan pada baris berikutnya.Lihat dokumentasi VirtualBox untuk instruksi tentang cara mengatur settingan jaringan Anda ke Bridged.
sumber
whatever.local
kecuali Anda menginstal Bonjour.Saya harus masuk ke virtualbox dan mengubah pengaturan jaringan saya ke 'NAT'. Setelah itu, saya dapat menekan
localhost
menjalankan pada mesin host saya dari emulator saya melalui virtualboxhttp://10.0.2.2:3000
sumber
http://10.0.2.2
persis seperti yang dijelaskan di sini oleh @Pytth.Jika Anda memiliki adaptor yang terpasang pada NAT , saat ini lebih baik dan lebih elegan untuk mengatur port forwarding ke port lokal.
Settings
>Network
>Adapter
>Advanced
>Port forwarding
Hanya insert aturan baru dan set
Host port
danGuest port
untuk80
(untuk http) atau22
(untuk ssh), dan sebagainya.Kemudian Anda dapat mengakses mesin itu dengan memasukkan saja
http://localhost
Anda mungkin juga ingin mengganti NAT ke mode transparan.
sumber
Saya menemukan itu
10.0.2.2:<port>
berfungsi, tetapi hanya jika Mode Promiscuous diatur dengan benar. Setelah menginstal VM saya, saya pergi ke Pengaturan> Jaringan> Adaptor 1.NAT diatur secara default, dan dropdown Mode Promiscuous dinonaktifkan. Saya beralih dari NAT ke Bridged Adapter, yang mengaktifkan dropdown Mode Promiscuous, dan kemudian mengubah nilai dari "Tolak" menjadi "Izinkan VM". Saya kemudian beralih kembali ke NAT, yang menonaktifkan Mode Promiscuous lagi, tetapi mempertahankan nilai baru.
Hanya setelah perubahan ini, saya dapat meluncurkan VM saya dan melihat mesin host
localhost:<port>
saya di VM saya di10.0.2.2:<port>
.sumber
Tidak dapat mengarahkan kembali permintaan ke localhost di VM ke localhost host sekarang dimasukkan ke Windows ( https://tools.ietf.org/html/rfc6761#section-6.3 ), termasuk VM yang tersedia di https: //developer.microsoft.com/en-us/microsoft-edge/tools/vms/
Untuk alasan keamanan, Microsoft sekarang mencegah entri file host untuk mengesampingkan alamat localhost ke apa pun selain alamat loopback :: 1. Jadi menambahkan baris file host VM seperti
akan diabaikan.
Ada dua cara (yang saya tahu) untuk mengesampingkan ini:
1) gunakan NETSH untuk portproxy ke host
(di mana 10.0.2.2 adalah gateway default pada VM dan 8000 adalah port yang ingin Anda atasi di host.)
2) Atur IIS untuk melakukan Routing Permintaan Aplikasi dan kemudian tulis ulang permintaan untuk localhost: port ke hostIP: port
https://docs.microsoft.com/en-us/iis/extensions/configuring-application-request-routing-arr/creating-a-forward-proxy-using-application-request-routing
sumber
netsh
adalah apa yang membantu saya, saya mencoba semua yang saya temukan di internet, tetapi tidak berhasil. Ini akan memungkinkan untuk mengakses<protocol>://localhost:<port>
, alih-alih mengakses langsung oleh IP. Ini harus menjadi jawaban yang diterima untuk Windows 10.MacOS
Jika Anda ingin mengatur lingkungan windows dengan Virtualbox pada mac, cukup gunakan pengaturan NAT default pada adaptor, dan di VM windows Anda, buka file hosts dan tambahkan yang berikut:
Berbeda dengan jawaban di atas, penting untuk memasukkan kedua baris, jika tidak, tidak akan berhasil.
sumber
Anda perlu mengedit file host Anda di mesin Virtual Windows Anda dengan cara yang sama Anda lakukan untuk mesin host lokal Anda:
Host C: \ WINDOWS \ system32 \ drivers \ etc \
Dan tautkan host virtual Anda ke 10.0.2.2, Jika Anda hanya menggunakan localhost, ganti
127.0.0.1 localhost dengan 10.0.2.2 localhost
Sebagai contoh:
Ini memberitahu mesin virtual Anda untuk menunjuk ke mesin lokal Anda untuk nama domain tersebut.
sumber
Anda tidak perlu mengubah file host atau konfigurasi Kotak Virtual apa pun. Simpan pengaturan di NAT. Buka contoh Windows Anda dan jalankan "cmd" atau buka cmd.exe. Jalankan perintah "ipconfig" dan dapatkan Alamat IP Gateway Default . Jelajahi http://10.0.2.2:8080 pada Windows IE yang akan Anda lihat sama dengan Mac Safari Anda http: // localhost: 8080 / atau http://127.0.0.1:8080
sumber
localhost
. (mis. webpack-dev-server)10.2.2.3 or .4
? Saya bisa ping.2
juga yang - VM adalah Windows Server berjalan di bawah Windows ServerKombinasi beberapa hal akhirnya membuat hal-hal bekerja pada saya. Menjalankan server labu di macosx.
Di windows VM saya, saya mengedit file hosts:
C:\windows\system32\drivers\etc\hosts
10.0.2.2 outer
Shutdown VM dan di Mac saya di VirtualBox:
VirtualBox > preferences > Network > Host-only Networks > +
untuk menambahkan jaringanvboxnet1
My_VM > settings > Network > Adapter 1
.Enable Network Adapter
dan aturAttached to:
keBridged Adapter
.Advanced > Promiscuous Mode:
keAllow VMs
.OK
My_VM > settings > Network > Adapter 1
.Attached to:
keNAT
.Lalu saya pergi ke
Adapter 2
Attached to:
keHost-only Adapter
dan pilih jaringan yang ditambahkan sebelumnyavboxnet1
.Saya mulai server saya di mac saya, berjalan
127.0.0.1:5000
dan ini sekarang dapat diakses di vm saya dihttp://10.0.2.2:5000
Man apa mimpi buruk untuk diuji pada IE di mac. Bagaimana tidak ada cara yang lebih sederhana?
sumber
rails s -b 127.0.0.1
dan mengaksesnya dari semua VM dihttp://10.0.2.2:3000
dan berhasil. Saya bertanya-tanya apakah pengaturan berubah dari atas entah bagaimana tetap bertahan bahkan setelah memutar semua itu kembali.vboxnet1
, tetapi akhirnya bekerja. Terima kasih atas petunjuknya!Saya dipecahkan dengan menambahkan port forwarding di pengaturan Virtualbox di bawah jaringan. Host IP set 127.0.0.1 port: 8080 Guest ip: Berikan IP untuk port situs web (katakanlah 10.0.2.5): 8080 Sekarang dari akses mesin tamu http://10.0.2.5:8080 menggunakan IE
sumber
Dalam Kotak virtual seperti yang dikatakan di atas, Anda dapat menambahkan file host baris ini
tetapi untuk menyimpannya, jika Anda tidak memiliki administrator di VM Anda, cukup pindahkan file host ke desktop, kemudian edit untuk menambahkan baris 10.0 .... luar, simpan file, dan pindah ke tempat asalnya.
sumber
periksa apakah Anda dapat menekan mesin induk Anda dengan:
ipconfig
(dapatkan alamat ip Anda)ping <ip>
atautelnet <ip> <port>
Jika Anda tidak dapat mengakses port, coba tambahkan aturan masuk baru di firewall induk Anda yang mengizinkan port lokal.
Saya kemudian dapat mengakses
http://<ip>:<port>
sumber
Dalam Kotak Virtual
Sekarang bit yang sulit adalah localhost Anda, jika Anda menjalankan dari Node.js atur alamat IP ke 0.0.0.0, kemudian cari alamat IP Anda sendiri, misalnya cmd: ipconfig -> 10.0.1.3
Ketikkan alamat itu dengan nomor port. Dan itu akan berhasil.
sumber
Langkah umum:
sumber
Pada Windows dengan Windows 7 virtual, satu-satunya hal yang berhasil bagi saya adalah menggunakan NAT dan port-forwarding (tidak bisa mendapatkan koneksi bridged berjalan). Saya menemukan tutorial di sini: http://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-as-a-server/ (gulir ke bawah untuk bagian dengan " Meneruskan Ports ke Mesin Virtual ").
Dengan perubahan ini saya dapat mencapai situs web xampp dengan " http: //192.168.xx.x: 8888 / mywebsite " di internet explorer 10 di mesin virtual saya.
Saya menemukan IP di XAMPP Control Panel> Netstat ("System").
sumber
Jika Anda menggunakan Kotak Virtual, Anda dapat menghubungkan Mac OSX (dan saya pikir Linux) ke mesin windows virtual Anda menggunakan satu baris kode -> Saya sarankan menghentikan kotak sebelum menjalankan ini di terminal.
VBoxManage modifyvm "YOUR VM NAME" --natdnshostresolver1 on
Saya akan mencatat bahwa ini adalah dari dokumen Dinghy, yang saya jalankan, tetapi ini adalah perintah kotak virtual sehingga seharusnya tidak benar-benar peduli apa yang Anda gunakan selama Kotak Virtual-nya
sumber
Saya perlu menjalankan di localhost, bukan IP aneh.
1) Dari terminal Mac Anda, lakukan
iconfig -a
untuk menemukan alamat IP lokal Anda. Mungkin yang terakhir.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
mis. 10.1.5.60
2) boot image windows Anda. mulai> ketik
cmd
untuk mendapatkan terminal3)
notepad c:\windows\system32\drivers\etc\hosts
4) tambahkan baris berikut
10.1.5.60 localhost
5) buka IE, dan url berikut akan mengenai server yang berjalan di mac Anda:
http://localhost:3000/
sumber
Dapatkan IP untuk mesin yang menjalankan Apache (inet addr: in
ifconfig
) dan masukkan di bilah alamat browser kotak virtual.sumber
Sebenarnya, jawaban user477494 pada prinsipnya benar.
Saya telah menerapkan logika yang sama di lingkungan lain (host OS X - virtual Windows XP) dan itu berhasil. Saya memang harus memutar host LAMP stack untuk mendapatkan alamat IP dan port Apache untuk menyelesaikannya, tetapi begitu saya mengetahuinya, saya tertawa.
sumber