Eu tenho um servidor de teste / desenvolvimento local (HTTP, é claro), ouvindo a porta 8000.
Estou trabalhando no Linux, para testar a página no Internet Explorer 6, 7, 8, etc. Eu executo uma máquina virtual usando o VirtualBox; Também preciso ver como ele fica no Firefox em um ambiente Windows (as fontes, por exemplo, são diferentes).
Na minha máquina real, abro o site simplesmente usando a URL http://localhost:8000
. Como abordar esse host local a partir da máquina virtual?
No momento, minha solução alternativa é usar o endereço IP. Alguma ideia melhor?
Respostas:
O Google pesquisou sobre isso: http://data.agaric.com/localhost-from-virtualbox-xp-install-ubuntu
Ele sugere o uso de IP:,
http://10.0.2.2
e funcionou para mim.Então, editei o arquivo hosts
C:\windows\system32\drivers\etc\hosts
e adicionei esta entrada:Se você estiver testando no IE8, lembre-se de colocar
http://
na barra de endereços. Basta colocar o ip diretamente não vai funcionar.Por exemplo:
fonte
Attached to
configuração de rede VirtualBox deBridged Adapter
paraNAT
para que isso funcione para mim.localhost
não10.0.2.2
devido a alguma autenticação de merda que quer localhost como o endereço :(Mac OS
Estou executando o Virtual Box no macOS (anteriormente OS X), usando o Virtual Box para testar o IE no Windows, etc.
Vá para o IE no Virtual Box e acesse
localhost
viahttp://10.0.2.2
forlocalhost
ouhttp://10.0.2.2:3000
forlocalhost:3000
.Mantive as configurações de rede como NAT, sem necessidade de ponte, como sugerido acima no meu caso. Não há necessidade de editar nenhum arquivo de configuração.
fonte
Para habilitar isso no OSX, tive que fazer o seguinte:
VirtualBox Preferences -> Network -> Host-only Networks ->
clicar no ícone "+". Clique OK."Settings" icon -> Network -> Adapter 2 ->
menu suspenso "Conectado a:", selecione "Adaptador somente para host" e sua rede (vboxnet0
) deve aparecer abaixo por padrão. Clique OK.http://10.0.2.2/
Você pode consultá-lo
localhost
e acessar outros sites hospedados localmente, adicionando suas referências ao arquivo hosts (C:\windows\system32\drivers\etc\hosts
) como o seguinte:fonte
IPv4 Address
(por exemplo192.168.56.1
). Depois que você iniciar a VM, abra o navegador e vá parahttp://192.168.56.1:3000
Você provavelmente tem a rede da sua máquina virtual definida como NAT. Se você definir sua rede como Bridged, poderá acessar sua máquina host pelo nome do host. Por exemplo, se o seu nome de host for "jsmith-Precision-7510" e você desejar abrir http: // localhost: 3000 / , poderá visualizar essa página em http: // jsmith-Precision-7510: 3000 / .
Para encontrar seu nome de host, abra um terminal / console e execute o comando
hostname
. Seu nome de host será exibido na próxima linha.Consulte a documentação do VirtualBox para obter instruções sobre como definir suas configurações de rede para Bridged.
fonte
whatever.local
menos que instale o Bonjour.Eu tive que entrar no virtualbox e alterar minhas configurações de rede para 'NAT'. Depois disso, fui capaz de
localhost
executar a execução na minha máquina host do meu emulador no virtualbox atravéshttp://10.0.2.2:3000
fonte
http://10.0.2.2
acessar o host local do host via exatamente como descrito aqui por @Pytth.Se você possui um adaptador conectado ao NAT , hoje em dia é uma solução melhor e mais elegante definir o encaminhamento de portas para as portas locais.
Settings
>Network
>Adapter
>Advanced
>Port forwarding
Basta inserir uma nova regra e definir
Host port
eGuest port
como80
(para http) ou22
(para ssh) e assim por diante.Então você pode acessar essa máquina digitando apenas
http://localhost
Você também pode mudar o NAT para o modo transparente.
fonte
Descobri que
10.0.2.2:<port>
funciona, mas apenas se o Modo Promíscuo estiver definido corretamente. Depois de instalar minha VM, fui para Configurações> Rede> Adaptador 1.O NAT é definido por padrão e o menu suspenso Promiscuous está desativado. Mudei de NAT para Bridged Adapter, que ativou o menu suspenso Promiscuous Mode, e alterei o valor de "Negar" para "Permitir VMs". Voltei para o NAT, que desabilitou o Modo Promíscuo novamente, mas manteve o novo valor.
Após apenas essa alteração, consegui iniciar minha VM e ver minhas máquinas host
localhost:<port>
em minha VM em10.0.2.2:<port>
.fonte
A impossibilidade de redirecionar solicitações para o host local na VM para o host local do host agora está conectada ao Windows ( https://tools.ietf.org/html/rfc6761#section-6.3 ), incluindo as VMs disponíveis em https: //developer.microsoft.com/en-us/microsoft-edge/tools/vms/
Por razões de segurança, a Microsoft agora impede que as entradas do arquivo host substituam o endereço do localhost por algo diferente do endereço de loopback :: 1. Então, adicionando uma linha ao arquivo host da VM, como
será ignorado.
Existem duas maneiras (que eu conheço) de substituir isso:
1) use NETSH para portproxy para o host
(em que 10.0.2.2 é o gateway padrão na VM e 8000 é a porta que você deseja resolver no host.)
2) Configure o IIS para executar o roteamento de solicitação de aplicativo e, em seguida, reescreva as solicitações para localhost: port no hostIP: port
https://docs.microsoft.com/pt-BR/iis/extensions/configuring-application-request-routing-arr/creating-a-forward-proxy-using-application-request-routing
fonte
netsh
Foi o que me ajudou, tentei tudo o que encontrei na rede, mas sem sucesso. Isso permitirá acessar<protocol>://localhost:<port>
, em vez de acessar diretamente por IP. Essa deve ser a resposta aceita para o Windows 10.Mac OS
Se você deseja configurar um ambiente Windows com o Virtualbox em um Mac, basta usar as configurações NAT padrão no adaptador e, na VM do Windows, vá para o arquivo hosts e adicione o seguinte:
Diferentemente das respostas acima, é importante incluir as duas linhas, caso contrário não funcionará.
fonte
Você precisa editar o arquivo hosts em sua máquina Windows Virtual da mesma maneira que em sua máquina host local:
C: \ WINDOWS \ system32 \ drivers \ etc \ hosts
E vincule seus hosts virtuais à 10.0.2.2. Se você estiver usando apenas o host local, substitua
127.0.0.1 localhost com 10.0.2.2 localhost
Por exemplo:
Isso instrui sua máquina virtual a apontar para sua máquina local para esses nomes de domínio.
fonte
Você não precisa alterar o arquivo hosts ou qualquer configuração do Virtual Box. Mantenha as configurações no NAT. Vá para a instância do Windows e execute "cmd" ou abra o cmd.exe. Execute o comando "ipconfig" e obtenha o endereço IP do gateway padrão . Navegue em http://10.0.2.2:8080 no Windows IE e verá o mesmo que o seu Mac Safari http: // localhost: 8080 / ou http://127.0.0.1:8080
fonte
localhost
. (por exemplo, webpack-dev-server)10.2.2.3 or .4
? I can ping.2
, bem como aqueles - VM é Windows Server rodando sob Windows ServerUma combinação de algumas coisas acabou fazendo as coisas funcionarem do meu lado. Executando um servidor de balão no macosx.
Na minha VM do Windows, editei o arquivo hosts:
C:\windows\system32\drivers\etc\hosts
10.0.2.2 outer
VM de desligamento e no meu Mac no VirtualBox:
VirtualBox > preferences > Network > Host-only Networks > +
adicionar uma redevboxnet1
My_VM > settings > Network > Adapter 1
.Enable Network Adapter
e definaAttached to:
comoBridged Adapter
.Advanced > Promiscuous Mode:
comoAllow VMs
.OK
My_VM > settings > Network > Adapter 1
.Attached to:
de volta paraNAT
.Então eu fui para
Adapter 2
Attached to:
comoHost-only Adapter
e selecione a rede adicionada anteriorvboxnet1
.Eu iniciei meu servidor no meu mac, rodando
127.0.0.1:5000
e agora ele estava acessível no meu vm emhttp://10.0.2.2:5000
Cara, que pesadelo para testar no IE no mac. Como não existe uma maneira mais simples?
fonte
rails s -b 127.0.0.1
e o acessei de todas as VMshttp://10.0.2.2:3000
e funcionou. Gostaria de saber se a mudança de configuração de cima de alguma forma permaneceu mesmo depois de reverter tudo de volta.vboxnet1
, mas acabou funcionando. Obrigado pelas pistas!Eu resolvi adicionando um encaminhamento de porta nas configurações do Virtualbox na rede. Porta 127.0.0.1 do conjunto de IPs do host: 8080 IP do convidado: forneça qualquer IP para a porta do site (digamos 10.0.2.5): 8080 Agora, acesse o computador da máquina http://10.0.2.5:8080 usando o IE
fonte
Na caixa virtual, como dito acima, você pode adicionar este arquivo de linha de hosts
mas, para salvá-lo, se você não tiver administradores certos na sua VM, mova o arquivo hosts para a área de trabalho e edite-o para adicionar a linha 10.0 .... externa, salve o arquivo e vá para o local original.
fonte
verifique se você pode atingir sua máquina principal com:
ipconfig
(obtenha seu endereço IP)ping <ip>
outelnet <ip> <port>
Se você não conseguir acessar a porta, tente adicionar uma nova regra de entrada no firewall pai, permitindo portas locais.
Pude acessar
http://<ip>:<port>
fonte
Na Caixa Virtual
Agora, a parte mais complicada é o seu host local, se você estiver executando o Node.js, defina o endereço IP como 0.0.0.0 e procure seu próprio endereço IP, por exemplo cmd: ipconfig -> 10.0.1.3
Digite esse endereço com o número da porta. E vai funcionar.
fonte
Etapas gerais:
fonte
No Windows com um Windows 7 virtual, a única coisa que funcionou para mim foi usar NAT e encaminhamento de porta (não foi possível obter a conexão em ponte). Encontrei um tutorial aqui: http://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/ (role para baixo para a parte com " Encaminhando portas para uma máquina virtual ").
Com essas alterações, eu poderia acessar o site xampp com " http: //192.168.xx.x: 8888 / mywebsite " no Internet Explorer 10 na minha máquina virtual.
Encontrei o IP no XAMPP Control Panel> Netstat ("System").
fonte
Se você usa o Virtual Box, pode conectar o Mac OSX (e acho que o Linux) à sua máquina virtual Windows usando uma linha de código -> sugiro interromper a caixa antes de executá-la no terminal.
VBoxManage modifyvm "YOUR VM NAME" --natdnshostresolver1 on
Observarei que isso é dos documentos do Dinghy, que estou executando, mas é um comando de caixa virtual, portanto, ele não deve se importar com o que você usa, desde que a Caixa Virtual
fonte
Preciso rodar no localhost, não em um IP estranho.
1) No terminal Mac, faça
iconfig -a
para encontrar o seu endereço IP local. Provavelmente é o último.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
por exemplo, 10.1.5.60
2) inicialize sua imagem do Windows. start> type
cmd
para obter um terminal3)
notepad c:\windows\system32\drivers\etc\hosts
4) adicione a seguinte linha
10.1.5.60 localhost
5) abra o IE e o seguinte URL deverá atingir o servidor em execução no seu mac:
http://localhost:3000/
fonte
Obtenha o IP da máquina que está executando o Apache (inet addr: in
ifconfig
) e digite-o na barra de endereço do navegador da caixa virtual.fonte
Na verdade, a resposta do usuário477494 está correta em princípio.
Eu apliquei a mesma lógica em outros ambientes (host do OS X - Windows XP virtual) e isso faz o truque. Eu tive que alternar a pilha LAMP do host para obter o endereço IP e a porta Apache para resolver, mas depois que eu descobri isso, estava rindo.
fonte