Jawaban:
Pertama, Anda perlu menentukan alamat ip atau nama mesin tempat Anda menjalankan server web. Saya berasumsi Anda menjalankan server web pada mac karena Anda menandai posting Anda meskipun macosx
instruksinya mirip untuk mesin linux. Jadi, di mac Anda:
Terminal.app
. Di bawah Applications->Utilities
.ifconfig
di terminal. Itu menunjukkan Anda semua antarmuka jaringan pada mesin. Salah satunya adalah jaringan yang terhubung dengan mesin Anda. Jika Anda mac pada koneksi kabel yang seharusnya en0
. Catat alamat setelah inet
- yang seharusnya menjadi alamat yang digunakan mesin Anda.
nc -v 192.168.10.1 3000
.
Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
.ctrl-C
untuk keluar dari sesi nc.Jika Anda tidak dapat terhubung ke aplikasi Anda di alamat asli server, itu berarti aplikasi Anda tidak mendengarkan alamat itu. Anda perlu menyelidiki cara mengubah konfigurasi aplikasi Anda untuk memodifikasi perilaku itu. Karena saya tidak tahu aplikasi apa yang Anda jalankan, saya tidak dapat menawarkan ide bagus tentang itu.
Temukan nama Mac Anda menggunakan hostname
(di Terminal prompt) dan gunakan itu di URL Anda. Misalnya http: //Tysys-iMac.local: 3000 /
Jika karena alasan tertentu Bonjour tidak berfungsi di lingkungan Anda, temukan alamat Airport di iMac atau MacBook
ipconfig getifaddr en1
atau secara umum dengan
ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')
Pada dasarnya, dari pengaturan firewall Anda dapat mengizinkan aplikasi tertentu (misalnya ruby) untuk menerima koneksi masuk. Plus untuk memungkinkan akses ke dunia luar (misalnya www), Anda harus meneruskan lalu lintas ke gateway internal Anda: port melalui pengaturan router Anda.
Berikut cara melakukannya:
Buka port pada router (melalui 192.168.1.1) untuk meneruskan traffic dari your_web_ip: port ke local_gateway: port
Selesai Sekarang dari komputer jarak jauh, buka browser Anda ke alamat ip web Anda (temukan melalui http://www.whatismyip.com/ ) + port tujuan # di atas, mis. 72.189.194.65:3280, ini akan terhubung ke 192.168.1.4 lokal Anda : 3000
Catatan: Saya menggunakan Mac OSX 10.7.5
127.0.0.1 adalah alamat lokal yang dimiliki setiap komputer untuk dirinya sendiri. Anda harus mencari tahu apa alamat IP asli (atau nama Host / Bonjour) dari mesin tersebut. Pergi ke System Preferences, Network dan cari IP mesin, baik untuk port Ethernet jika Anda menggunakan kabel atau Bandara jika Anda menggunakan WLAN. Kemudian buka alamat ini bersama-sama dengan: 3000 bagian dalam Safari di iPhone.
Jika aplikasi hanya mendengarkan 127.0.0.1:3000 maka Anda tidak dapat mengaksesnya dari komputer lain. Untuk melakukannya, Anda perlu memodifikasi konfigurasi untuk Mendengarkan IP atau 0.0.0.0 (semua antarmuka yang tersedia). Opsi satu.
Opsi kedua adalah menggunakan proxy.
Opsi ketiga adalah jika Anda dapat ssh dari iphone Anda juga dapat menggunakan ssh forwarding.
ssh user @ host -L 3000: 127.0.0.1: 3000
Kemudian pada iphone Anda, buka 127.0.0.1:3000
0.0.0.0
! Bagaimana mungkin aku tidak memikirkan itu?
Sudahkah Anda mencoba ini, itu berhasil untuk saya (saya tidak berafiliasi dengannya):
rails server -b 0.0.0.0
, lalu peramban ini di iPhone Anda.