come utilizzare ipad per accedere al server web su macbook air


8

il mio software per server web è nginx che funziona molto bene su macbook air usando mac os x 10.7.5

quando vado a http: //myapp.localhost sul mio macbook air, posso accedere perfettamente al mio sito Web che è in esecuzione su localhost.

come posso accedere al sito Web dal mio iPad? Lo sto chiedendo perché voglio testare se il mio sito Web consente ai tablet di accedere anche ai browser desktop.

ho due possibili configurazioni.

1) macbook air con HUAWEI-MOBILEModem e utilizzo di INTERNET SHARING per consentire l'accesso all'iPad.

2) quando sia macbook air che iPad accedono alla stessa connessione WIFI.

Fornire soluzioni per entrambi gli scenari.

AGGIORNAMENTO: ho più di 1 app in esecuzione sul mio server web macbook air nginx.

per comodità, chiamiamoli

eccetera.

Come può il mio iPad accedere alla webapp corretta ospitata sul mio macbook air?

AGGIORNARE

sul mio macbook air accedo a diverse webapp perché ho modificato il mio file / etc / hosts.


1
Sei aperto a soluzioni che ti consentono di utilizzare porte diverse / nginx multiple per isolare le app Web o hai davvero bisogno di un'istanza e devi isolare le cose solo tramite URL. Ho avuto una grande fortuna sovraccaricare la scheda NIC per avere più indirizzi IP e usare xip.io per risolvere indirizzi locali normalmente non instradabili.
bmike

non mi dispiace sentire l'idea, @bmike
Kim Stacks

Risposte:


3

In entrambi gli scenari , l'utilizzo dell'indirizzo IP o machinename.local del Mac ti fornirà solo il sito Web predefinito su quel Mac. Le tue app Web sono tutte ai massimi livelli, quindi Nginx si aspetta nomi host diversi nella richiesta. Il problema è che questi nomi host finiscono in .localhost che non viene risolto dal DNS, quindi l'iPad non sa dove si trova myapp2.localhost e la richiesta non raggiunge mai Nginx sul Mac.

Hai già risolto questo problema in qualche modo durante i test da Mac. Forse hai modificato il file / etc / hosts o hai una GUI che lo fa? Tuttavia, non è possibile modificare il file host dell'iPad senza jailbreak.

Una semplice soluzione consiste nel modificare il sito Web predefinito in Nginx con l'app Web che si desidera testare dall'iPad, quindi è possibile utilizzare l' indirizzo machinename.local dall'iPad. Ma devi cambiarlo ogni volta che vuoi testare una webapp diversa.

Soluzioni alternative più complicate sarebbero: a) configurare Apache sul Mac come server proxy e configurare il browser iPad per utilizzarlo come proxy; b) configurare un server DNS sulla rete locale; c) utilizzare invece il simulatore iPad su Mac, modificando il file / etc / hosts; oppure d) eseguire il jailbreak dell'iPad e modificare / etc / hosts.


1
Utilizzando iPad con Proxy Server: stackoverflow.com/questions/6917107/...
wrk2bike

non voglio effettuare il jailbreak o usare l'emulatore. devo testare facilmente più app. quindi mi rimane questa opzione come suggerito dal tuo commento. stackoverflow.com/a/11757977/80353
Kim Stacks il

tuttavia, ho un problema. ho impostato l'ipad per utilizzare il manuale del proxy con l'indirizzo IP del mio macbook e la porta che uso 80. ma non riesco ancora ad accedere a myapp1.localhost
Kim Stacks

oh scusa mi sono appena reso conto che ho bisogno di accendere il mio charles e quindi impostare la porta su 8888
Kim Stacks il

Voglio solo aggiungere che la mia soluzione personale è installare Charles e quindi utilizzare Charles sul mio MacBook Air. In iPad, accenderò il proxy http manuale.
Kim Stacks il

3

localhost è specifico del dispositivo, quindi visitarlo sul tuo iPad ti sta portando a una pagina sul tuo iPad stesso (che probabilmente non esiste).

Per accedere a una pagina servita dal tuo Mac dal tuo iPad, utilizza l'indirizzo IP locale del Mac anziché localhost. Per ottenere l'IP locale del tuo Mac, apri il pannello Rete delle Preferenze di Sistema. Seleziona la tua rete attiva a sinistra e l'IP verrà mostrato a destra sotto l' intestazione Connected . Probabilmente sarà qualcosa che assomigli 10.0.1.1o 127.0.1.1.


c'è un modo per assegnare un nome di macchina specifico al mio macbook air e quindi l'iPad può cercare tramite il nome della macchina?
Kim impila il

Ho modificato un po 'la mia domanda originale. Ho dimenticato di dire che ho più webapp ospitate nel server web sul mio macbook air. come cambierebbe la tua risposta?
Kim impila il

@kimsia Sì, puoi sostituire l'IP con computerName.local. Vedere questa risposta . Più app non cambiano la risposta, fai semplicemente quello che fai normalmente e sostituiscilo localhostcon l'IP. Quindi, se normalmente vai a http://localhost:8888/someApp/index.html, vai http://IPAddress:8888/someApp/index.htmldove si IPAddresstrova l'IP locale.
Nathan Greenstein,

normalmente vado su myapp1.localhost per accedere a application1 e myapp2.localhost per accedere a application2. quindi come funziona per l'accesso da iPad?
Kim impila il

e inoltre non sono sicuro che il tuo suggerimento sia per lo scenario 1 o 2. o entrambi?
Kim impila il

2

Puoi provare a inserire il nome host del tuo Mac seguito da un .local.

Quindi, se il nome del tuo computer è epsilon.

    http://epsilon.local

Come affermato da Nathan, l'indirizzo IP funzionerebbe. Sostituisci il mio IP di esempio con il tuo IP attuale.

    http://192.168.1.1

Aggiungere le informazioni specifiche dell'app alla fine di questi indirizzi. Quindi, qualsiasi cosa accada dopo http: // localhost verrebbe aggiunta alla fine di questi URL.


non ha funzionato per me. non sono sicuro del perché. altre cose che posso provare?
Kim impila il

e inoltre non sono sicuro che il tuo suggerimento sia per lo scenario 1 o 2. o entrambi?
Kim impila il

Questo è un lavoro, assicurati di usare http quindi l'indirizzo IP
GusDeCooL,

-1

Penso che la cosa più semplice da fare sia ottenere l'indirizzo IP degli host. Ad esempio, dalla riga di comando eseguire questo:

curl icanhazip.com

Otterrai i tuoi indirizzi IP esterni {descritti di seguito come $ IP_ADDRESS}.

Quindi sul tuo iPad basta puntare il browser a quell'indirizzo IP:

http://$IP_ADDRESS/

Come fare l'arricciatura in iPad? Hehehe
GusDeCooL,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.