comment utiliser ipad pour accéder au serveur web sur macbook air

8

mon logiciel de serveur web est nginx qui fonctionne très bien sur macbook air en utilisant mac os x 10.7.5

lorsque je vais sur http: //myapp.localhost sur mon macbook air, je peux parfaitement accéder à mon site Web qui fonctionne sur localhost.

comment accéder au site web depuis mon iPad? Je demande parce que je veux tester si mon site Web permet aux tablettes d'accéder aussi bien aux navigateurs de bureau.

j'ai deux configurations possibles.

1) MacBook Air exécutant HUAWEI-MOBILEModem et utilisant INTERNET SHARING pour permettre à l'iPad d'accéder.

2) lorsque MacBook Air et iPad accèdent à la même connexion WIFI.

Veuillez fournir des solutions pour les deux scénarios.

MISE À JOUR: J'ai plus d'une application en cours d'exécution sur mon serveur Web MacBook Air Nginx.

pour les commodités, appelons-les

etc.

Comment mon iPad peut-il accéder à la webapp correcte hébergée sur mon macbook air?

MISE À JOUR

sur mon macbook air, j'accède à différentes webapps car j'ai édité mon fichier / etc / hosts.

Kim Stacks
la source
1
Êtes-vous ouvert à des solutions qui vous permettent d'utiliser différents ports / plusieurs nginx pour isoler les applications Web, ou avez-vous vraiment besoin d'une instance et devez isoler les choses uniquement par URL. J'ai eu beaucoup de chance en surchargeant la carte réseau pour avoir plusieurs adresses IP et en utilisant xip.io pour résoudre des adresses locales normalement non routables.
bmike
ça ne me dérange pas d'entendre l'idée, @bmike
Kim Stacks

Réponses:

3

Dans les deux scénarios , l'utilisation de l'adresse IP ou de l' adresse machinename.local du Mac ne vous donnera que le site Web par défaut sur ce Mac. Vos applications Web sont toutes au niveau supérieur, donc Nginx attend différents noms d'hôtes dans la demande. Le problème est que ces noms d'hôtes se terminent par .localhost qui n'est pas résolu par DNS, donc l'iPad ne sait pas où est myapp2.localhost, et la demande n'atteint jamais Nginx sur le Mac.

Vous avez déjà réussi à contourner ce problème lors des tests à partir du Mac. Vous avez peut-être édité le fichier / etc / hosts, ou vous avez une interface graphique qui fait cela? Cependant, vous ne pouvez pas modifier le fichier des hôtes iPad sans jailbreak.

Une solution de contournement simple consiste à remplacer le site Web par défaut de Nginx par l'application Web que vous souhaitez tester à partir de l'iPad - vous pouvez alors utiliser l' adresse machinename.local de l'iPad. Mais vous devez changer cela à chaque fois que vous souhaitez tester une autre application Web.

Des solutions de contournement plus compliquées consisteraient à a) configurer Apache sur le Mac en tant que serveur proxy et configurer le navigateur iPad pour l'utiliser comme son proxy; b) configurer un serveur DNS sur votre réseau local; c) utilisez à la place le simulateur iPad sur Mac, tout en modifiant le fichier / etc / hosts; ou d) jailbreaker l'iPad et modifier / etc / hosts.

wrk2bike
la source
1
Utilisation de l'iPad avec Proxy Server: stackoverflow.com/questions/6917107/…
wrk2bike
je ne veux pas jailbreak ou utiliser l'émulateur. j'ai besoin de tester facilement plusieurs applications. donc je me retrouve avec cette option comme suggéré par votre commentaire. stackoverflow.com/a/11757977/80353
Kim Stacks
cependant, j'ai un problème. j'ai configuré l'ipad pour utiliser le manuel du proxy avec l'adresse IP de mon macbook et le port que j'utilise 80. mais je ne peux toujours pas accéder à myapp1.localhost
Kim Stacks
oh désolé, je viens de réaliser que je dois allumer mon charles puis régler le port sur 8888
Kim Stacks
Je veux juste ajouter que ma solution personnelle consiste à installer charles puis à utiliser charles sur mon macbook air. Dans l'iPad, j'activerai le proxy http manuel.
Kim Stacks
3

localhost est spécifique à l'appareil, donc le visiter sur votre iPad vous amène à une page sur votre iPad lui-même (qui n'existe probablement pas).

Pour accéder à une page diffusée depuis votre Mac depuis votre iPad, utilisez plutôt l'adresse IP locale du Mac localhost. Pour obtenir l'IP locale de votre Mac, ouvrez le volet Réseau des Préférences Système. Sélectionnez votre réseau actif à gauche et l'adresse IP sera affichée à droite sous l'en- tête Connecté . Ce sera probablement quelque chose qui ressemble à 10.0.1.1ou 127.0.1.1.

Nathan Greenstein
la source
existe-t-il un moyen pour moi d'attribuer un nom de machine spécifique à mon macbook air et l'iPad peut alors rechercher via le nom de la machine?
Kim Stacks
J'ai un peu modifié ma question d'origine. J'ai oublié de mentionner que j'ai plusieurs applications Web hébergées sur le serveur Web sur mon MacBook Air. comment cela changerait-il votre réponse?
Kim Stacks
@kimsia Oui, vous pouvez remplacer l'adresse IP par computerName.local. Voir cette réponse . Plusieurs applications ne changent pas la réponse, faites simplement ce que vous faites normalement et remplacez-le localhostpar l'IP. Donc, si vous y allez normalement http://localhost:8888/someApp/index.html, allez http://IPAddress:8888/someApp/index.htmloù se IPAddresstrouve l'IP locale.
Nathan Greenstein
je vais normalement à myapp1.localhost pour accéder à application1 et myapp2.localhost pour accéder à application2. alors comment ça marche pour accéder à partir de l'iPad?
Kim Stacks
et aussi je ne sais pas si votre suggestion est pour le scénario 1 ou 2. ou les deux?
Kim Stacks
2

Vous pouvez essayer d'entrer le nom d'hôte de votre Mac suivi d'un .local.

Donc, si le nom de votre ordinateur est epsilon.

    http://epsilon.local

Comme indiqué par Nathan, l'adresse IP fonctionnerait. Remplacez mon exemple d'IP par votre IP réelle.

    http://192.168.1.1

Vous devez ajouter vos informations d'application spécifiques à la fin de ces adresses. Donc, ce qui vient après http: // localhost serait ajouté à la fin de ces URL.

dhempler
la source
n'a pas fonctionné pour moi. Je ne suis pas sûr pourquoi. d'autres choses que je peux essayer?
Kim Stacks
et aussi je ne sais pas si votre suggestion est pour le scénario 1 ou 2. ou les deux?
Kim Stacks
C'est du travail, assurez-vous d'utiliser http puis l'adresse IP
GusDeCooL
-1

Je pense que la chose la plus simple à faire est d'obtenir l'adresse IP des hôtes. Par exemple, sur la ligne de commande, exécutez ceci:

curl icanhazip.com

Vous obtiendrez vos adresses IP externes {décrites ci-dessous comme $ IP_ADDRESS}.

Ensuite, sur votre iPad, pointez simplement le navigateur sur cette adresse IP:

http://$IP_ADDRESS/
Mark Cohen
la source
Comment faire du curl dans l'ipad? Hehehe
GusDeCooL
-1
  • Activez le partage Web: Activer le partage Web

  • Mettez votre site Web à l'intérieur ~/Sites

  • Accès via URL comme indiqué ci-dessus
Swapnil Godambe
la source
3
Bien sûr, cela suppose Lion ou une version antérieure, car le "Partage Web" n'apparaît plus ici dans Mountain Lion.
GEdgar