moim oprogramowaniem serwera WWW jest nginx, który działa bardzo dobrze na MacBooku Air przy użyciu Mac OS X 10.7.5
kiedy idę do http: //myapp.localhost na moim MacBooku Air, mogę doskonale uzyskać dostęp do mojej witryny, która działa na localhost.
jak mogę uzyskać dostęp do strony internetowej z mojego iPada? Pytam, ponieważ chcę przetestować, czy moja witryna umożliwia równie dobry dostęp tabletu w przeglądarkach komputerowych.
mam dwie możliwe konfiguracje.
1) Macbook Air z uruchomionym HUAWEI-MOBILEModem i korzystający z INTERNET SHARING, aby umożliwić dostęp do iPada.
2) gdy zarówno MacBook Air, jak i iPad uzyskują dostęp do tego samego połączenia WIFI.
Podaj rozwiązania dla obu scenariuszy.
AKTUALIZACJA: Mam więcej niż 1 aplikację działającą na moim serwerze MacBook Air Nginx.
dla wygody zadzwońmy do nich
itp.
Jak mój iPad może uzyskać dostęp do właściwej aplikacji internetowej hostowanej na moim MacBooku Air?
AKTUALIZACJA
na moim MacBooku Air uzyskuję dostęp do różnych aplikacji internetowych, ponieważ edytowałem plik / etc / hosts.
Odpowiedzi:
W obu przypadkach użycie adresu IP lub machinename.lokalny adres komputera Mac zapewni tylko domyślną witrynę internetową na tym komputerze Mac. Twoje aplikacje internetowe są na najwyższym poziomie, więc Nginx oczekuje różnych nazw hostów w żądaniu. Problem w tym, że te nazwy hostów kończą się na .localhost, który nie jest rozpoznawany przez DNS, więc iPad nie wie, gdzie jest myapp2.localhost, a żądanie nigdy nie dociera do Nginx na Macu.
W jakiś sposób omijałeś już ten problem podczas testowania z komputera Mac. Może edytowałeś plik / etc / hosts lub masz GUI, który to robi? Nie można jednak modyfikować pliku hostów iPada bez łamania jailbreak.
Prostym obejściem jest zmiana domyślnej strony internetowej w Nginx na aplikację internetową, którą chcesz przetestować z iPada - wtedy możesz użyć adresu machinename.local z iPada. Ale musisz to zmienić za każdym razem, gdy chcesz przetestować inną aplikację internetową.
Bardziej skomplikowanym obejściem byłoby: a) skonfigurowanie Apache na komputerze Mac jako serwera proxy i skonfigurowanie przeglądarki iPada, aby używała tego jako serwera proxy; b) skonfigurować serwer DNS w sieci lokalnej; c) zamiast tego użyj symulatora iPada na komputerze Mac, modyfikując plik / etc / hosts; lub d) jailbreak iPada i modyfikacja / etc / hosts.
źródło
localhost
zależy od urządzenia, więc odwiedzenie go na iPadzie prowadzi do strony na iPadzie (prawdopodobnie nie istnieje).Aby uzyskać dostęp do strony wyświetlanej z komputera Mac z iPada, użyj lokalnego adresu IP komputera Mac zamiast
localhost
. Aby uzyskać lokalny adres IP komputera Mac, otwórz panel Sieć w Preferencjach systemowych. Wybierz swoją aktywną sieć po lewej, a adres IP zostanie wyświetlony po prawej stronie pod nagłówkiem Połączone . Prawdopodobnie będzie to coś, co wygląda10.0.1.1
lub127.0.1.1
.źródło
computerName.local
. Zobacz tę odpowiedź . Wiele aplikacji nie zmienia odpowiedzi, po prostu rób to, co robisz normalnie i zastępuj adresemlocalhost
IP. Tak więc, jeśli normalnie iść dohttp://localhost:8888/someApp/index.html
, iść dohttp://IPAddress:8888/someApp/index.html
gdzieIPAddress
jest lokalny IP.Możesz spróbować wpisać nazwę hosta komputera Mac, a następnie nazwę lokalną.
Więc jeśli nazwa twojego komputera to epsilon.
Jak stwierdził Nathan, adres ip działałby. Zastąp mój przykładowy adres IP faktycznym adresem IP.
Na końcu tych adresów dodasz określone informacje o aplikacji. Więc to, co kiedykolwiek nastąpi po http: // localhost , zostanie dołączone na końcu tych adresów URL.
źródło
Myślę, że najłatwiej jest uzyskać adres IP hosta. Na przykład w wierszu polecenia uruchom to:
Otrzymasz swój zewnętrzny adres IP {opisany poniżej jako $ IP_ADDRESS}.
Następnie na iPadzie po prostu skieruj przeglądarkę na ten adres IP:
źródło
Włącz udostępnianie sieciowe:
Umieść swoją stronę internetową w środku
~/Sites
źródło