como usar o ipad para acessar o servidor web no macbook air


8

meu software de servidor da web é o nginx, que roda muito bem no macbook air usando o mac os x 10.7.5

quando vou para http: //myapp.localhost no meu macbook air, posso acessar perfeitamente meu site, que está sendo executado no localhost.

como posso acessar o site do meu iPad? Estou perguntando porque quero testar se meu site permite que o tablet acesse da mesma forma nos navegadores da área de trabalho.

Eu tenho duas configurações possíveis.

1) MacBook Air executando o HUAWEI-MOBILEModem e usando o INTERNET SHARING para permitir que o iPad acesse.

2) quando o macbook air e o iPad estiverem acessando a mesma conexão WIFI.

Forneça soluções para os dois cenários.

ATUALIZAÇÃO: tenho mais de um aplicativo em execução no meu servidor web macbook air nginx.

por conveniência, vamos chamá-los

etc.

Como meu iPad acessa o aplicativo da web correto hospedado no meu macbook air?

ATUALIZAR

no meu macbook air, acesso diferentes aplicativos da web porque editei meu arquivo / etc / hosts.


1
Você está aberto a soluções que permitem usar portas diferentes / vários nginx para isolar os aplicativos da Web ou você realmente precisa de uma instância e precisa isolar as coisas apenas por URL. Tive muita sorte em sobrecarregar a NIC para ter vários endereços IP e usar o xip.io para resolver endereços locais normalmente não roteáveis.
bmike

Eu não me importo de ouvir a ideia, @bmike
Kim Stacks

Respostas:


3

Nos dois cenários , o uso do endereço IP ou nome da máquina.local do Mac fornecerá apenas o site padrão nesse Mac. Seus aplicativos da web estão todos no nível superior; portanto, o Nginx espera nomes de host diferentes na solicitação. O problema é que esses nomes de host terminam em .localhost, que não está sendo resolvido pelo DNS; portanto, o iPad não sabe onde está myapp2.localhost e a solicitação nunca chega ao Nginx no Mac.

Você já contornou esse problema de alguma forma ao testar no Mac. Talvez você tenha editado o arquivo / etc / hosts ou tenha uma GUI que faça isso? No entanto, você não pode modificar o arquivo de hosts do iPad sem o jailbreak.

Uma solução simples é alterar o site padrão no Nginx para o aplicativo da web que você deseja testar no iPad - então você pode usar o endereço machinename.local no iPad. Mas você precisa alterar isso sempre que quiser testar um aplicativo da web diferente.

Soluções alternativas mais complicadas seriam: a) configurar o Apache no Mac como um servidor proxy e configurar o navegador do iPad para usá-lo como seu proxy; b) configurar um servidor DNS na sua rede local; c) use o simulador de iPad no Mac, enquanto modifica o arquivo / etc / hosts; ou d) faça o jailbreak do iPad e modifique / etc / hosts.


1
Usando o iPad com o servidor proxy: stackoverflow.com/questions/6917107/…
wrk2bike 4/12/12

Eu não quero fazer o jailbreak ou usar o emulador. Eu preciso testar facilmente vários aplicativos. então fiquei com esta opção, conforme sugerido pelo seu comentário. stackoverflow.com/a/11757977/80353
Kim Stacks

no entanto, eu tenho um problema. i definir o ipad de usar o manual de proxy com o endereço ip do meu macbook eo porto i use 80., mas eu ainda não consigo acessar myapp1.localhost
Kim Stacks

oh desculpe eu só percebi que eu preciso para ligar o meu charles e, em seguida, defina a porta para 8888
Kim Stacks

Eu só quero acrescentar que minha solução pessoal é instalar charles e depois usá-lo no meu macbook air. No iPad, ativarei o proxy http manual.
Kim Stacks

3

localhost é específico do dispositivo, portanto, visitá-lo no seu iPad é levá-lo a uma página do próprio iPad (que provavelmente não existe).

Para acessar uma página que é veiculada do seu Mac pelo seu iPad, use o endereço IP local do Mac em vez de localhost. Para obter o IP local do seu Mac, abra o painel Rede das Preferências do Sistema. Selecione sua rede ativa à esquerda e o IP será mostrado à direita sob o cabeçalho Conectado . Provavelmente será algo que parece 10.0.1.1ou 127.0.1.1.


existe uma maneira de atribuir um nome de máquina específico ao meu macbook air e depois o iPad pode pesquisar através do nome da máquina?
Kim Stacks

Eu editei um pouco minha pergunta original. Esqueci de mencionar que tenho vários aplicativos da web hospedados no servidor da web no meu macbook air. como isso mudaria sua resposta?
Kim Stacks

@ kimsia Sim, você pode substituir o IP por computerName.local. Veja esta resposta . Vários aplicativos não alteram a resposta, basta fazer o que você faz normalmente e substituir localhostpelo IP. Portanto, se você normalmente for http://localhost:8888/someApp/index.html, vá para http://IPAddress:8888/someApp/index.htmlonde IPAddressestá o IP local.
precisa

Eu normalmente vou para myapp1.localhost para acessar application1 e myapp2.localhost para acessar application2. então, como funciona para acessar do iPad?
Kim Stacks

e também não tenho certeza se a sua sugestão é para o cenário 1 ou 2. ou ambos?
Kim Stacks

2

Você pode tentar inserir o nome do host do seu Mac seguido de um .local.

Portanto, se o nome do seu computador for epsilon.

    http://epsilon.local

Conforme declarado por Nathan, o endereço IP funcionaria. Substitua meu exemplo de IP pelo seu IP real.

    http://192.168.1.1

Você adicionaria informações específicas do aplicativo no final desses endereços. Portanto, o que vier depois do http: // localhost será anexado ao final desses URLs.


não funcionou para mim. Não sei por quê. alguma outra coisa que eu possa tentar?
Kim Stacks

e também não tenho certeza se a sua sugestão é para o cenário 1 ou 2. ou ambos?
Kim Stacks

Isso é trabalho, certifique-se de usar o endereço IP http e ip #
GusDeCooL

-1

Eu acho que a coisa mais fácil a fazer é obter o endereço IP do host. Por exemplo, na linha de comandos, execute o seguinte:

curl icanhazip.com

Você receberá seus endereços IP externos {descritos abaixo como $ IP_ADDRESS}.

Em seguida, no seu iPad, aponte o navegador para esse endereço IP:

http://$IP_ADDRESS/

Como fazer enrolar no ipad? Hehehe
GusDeCooL

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.