Odpowiedzi:
Najpierw musisz określić adres IP lub nazwę komputera, na którym działa serwer WWW. Zakładam, że używasz serwera WWW na komputerze Mac, ponieważ macosx
dokładnie otagowałeś swój post, instrukcje są podobne dla maszyn z systemem Linux. Na komputerze Mac:
Terminal.app
. Jest poniżej Applications->Utilities
.ifconfig
w terminalu. To pokazuje wszystkie interfejsy sieciowe na komputerze. Jedną z nich jest sieć, do której urządzenie jest aktywnie podłączone. Jeśli Mac jest podłączony przewodowo, powinno być en0
. Zanotuj adres później inet
- powinien to być adres, którego używa twoje urządzenie.
nc -v 192.168.10.1 3000
.
Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
.ctrl-C
aby wyjść z sesji nc.Jeśli nie możesz połączyć się z aplikacją na prawdziwym adresie serwera, oznacza to, że aplikacja nie nasłuchuje pod tym adresem. Musisz zbadać, jak zmienić konfigurację aplikacji, aby zmodyfikować to zachowanie. Ponieważ nie wiem, jaką aplikację uruchamiasz, nie mogę zaoferować żadnych dobrych pomysłów na ten temat.
Znajdź nazwę komputera Mac za pomocą hostname
(w wierszu polecenia Terminal) i użyj jej w adresie URL. Np. Http: //Tonys-iMac.local: 3000 /
Jeśli z jakiegoś powodu Bonjour nie działa w twoim środowisku, znajdź adres lotniska na komputerze iMac lub MacBook za pomocą
ipconfig getifaddr en1
lub ogólnie z
ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')
Zasadniczo w ustawieniach zapory można zezwolić określonej aplikacji (np. Ruby) na przyjmowanie połączeń przychodzących. Dodatkowo, aby umożliwić dostęp do świata zewnętrznego (np. Www), musisz przekierować ruch do wewnętrznej bramy: portu za pomocą ustawień routera.
Oto jak to zrobić:
Otwórz port na routerze (przez 192.168.1.1), aby przekierować ruch z twoj_web_ip: port do local_gateway: port
Gotowy. Teraz z komputera zdalnego otwórz przeglądarkę na swój adres IP (znajdź poprzez http://www.whatismyip.com/ ) + port docelowy # powyżej, np. 72.189.194.65:3280, to połączy się z twoim lokalnym 192.168.1.4 : 3000
Uwaga: korzystam z systemu Mac OSX 10.7.5
127.0.0.1 to adres lokalny, który każdy komputer ma dla siebie. Musisz dowiedzieć się, jaki jest prawdziwy adres IP (lub nazwa hosta / Bonjour) urządzenia. Przejdź do Preferencji systemowych, Sieci i wyszukaj adres IP urządzenia, albo port Ethernet, jeśli korzystasz z kabla, albo lotnisko, jeśli korzystasz z sieci WLAN. Następnie otwórz ten adres wraz z częścią: 3000 w Safari na iPhonie.
Jeśli aplikacja nasłuchuje tylko w wersji 127.0.0.1:3000, nie można uzyskać do niej dostępu z innego komputera. W tym celu należy zmodyfikować konfigurację, aby nasłuchiwała adresu IP lub 0.0.0.0 (wszystkie dostępne interfejsy). To jest pierwsza opcja.
Drugą opcją jest użycie serwera proxy.
Trzecią opcją jest to, że jeśli możesz ssh z iPhone'a, możesz także użyć przekazywania ssh.
ssh użytkownik @ host -L 3000: 127.0.0.1: 3000
Następnie na telefonie iPhone otwórz 127.0.0.1:3000
0.0.0.0
! Jak mogłem o tym nie myśleć?
Próbowałeś tego, to zadziałało dla mnie (nie jestem z tym związany):
rails server -b 0.0.0.0
, a następnie przeglądaj to na swoim iPhonie.