Hubungkan Perangkat ke Mac localhost Server? [Tutup]

99

Bagaimana saya mengizinkan perangkat apapun, misalnya, iPhone, untuk terhubung melalui WLAN ke server localhost Mac saya?

Di Mac saya, saya menjalankan server HTTP Node.js "Hello World" yang melayani halaman, yang berhasil dibuka Safari, di http://localhost:1337. Dan, berjalan ipconfig getifaddr en1di keluaran Terminal 192.168.1.9.

Namun, Safari, di iPhone & Mac, menampilkan "Safari tidak dapat terhubung ke server" saat mencoba untuk membuka http://192.168.1.9:1337.

Saya tidak berpikir ini harus melibatkan penerusan port karena saya hanya ingin server HTTP tersedia secara pribadi, bukan untuk umum.

Terkait:

ma11hew28
sumber
1
pertanyaan dijawab di sini stackoverflow.com/questions/9304058/…
Andreas Norman
Saya terkejut tidak melihat jawaban seperti ini, yang berhasil untuk saya: stackoverflow.com/a/41857012/470749
Ryan

Jawaban:

56

Saya memiliki masalah yang sama. Saya mematikan WI-FI saya di Mac saya dan kemudian menyalakannya lagi, yang memecahkan masalah. Klik Pengaturan> Matikan WI-FI.

Saya mengujinya dengan membuka Safari di iPhone saya dan memasukkan nama host atau alamat IP saya. Misalnya: http://<name>.localatauhttp://10.0.1.5

johnnieb
sumber
Anehnya, ini berhasil untuk saya! Terima kasih banyak. Saya tidak mengerti mengapa.
Björn Grossmann
3
ditambah satu untuk <name>.local- Tidak ada lagi IP statis untuk pengujian!
Adam Carter
Saya menghabiskan sepanjang hari mencoba memikirkan hal ini. Mengaktifkan / menonaktifkan WiFi Mac saya memperbaikinya. Aneh.
oif_vet
Mengalihkan wifi Mac juga memperbaikinya untuk saya. Saya ingin tahu apakah ini masalah Mac atau masalah Router, atau masalah nodejs. Ada ide?
neoneye
2
http: // <name> .local bekerja untuk saya. Untuk memperluas jawaban, <name> dari mac Anda dapat ditemukan di System Preferences> Sharing . Di bawah Nama Komputer Anda : Anda dapat menemukan Komputer di jaringan lokal Anda dapat mengakses komputer Anda di: <name> .local
John Lay
42

Minta server Anda mendengarkan, 0.0.0.0bukan localhost.

ma11hew28
sumber
1
Ahhhh terima kasih ini berhasil untuk saya
aks.
1
Bagi siapa pun yang mengalami masalah dengan jawaban lain - cobalah ini!
Trent
5
Atau, Anda dapat menentukan '0.0.0.0' untuk mengikat langsung ke ip lokal. Akan mencegah masalah jika Anda beralih jaringan dan tidak diberi ip yang sama.
Cole Murray
Maaf, tapi bagaimana tepatnya Anda "meminta server Anda mendengarkan"?
gmarais
@ColeMurray, maaf atas tanggapan yang tertunda. Terima kasih atas saranmu. Saya baru saja memperbarui jawaban saya.
ma11hew28
31

Saya hanya dapat mengakses iphone saya menggunakan http://name.local:1337. Anda harus menambahkan ".local" Anda dapat menemukan nama komputer Anda di bawah System Preferences / sharing / "Computer Name".

moeamaya
sumber
Saya mencoba menggunakan alamat IP dengan dan tanpa firewall dan banyak solusi lain yang disarankan dan ini adalah satu-satunya yang berhasil. Saya menjalankan situs localhost di port 3000 dengan express menggunakan node js.
lostAtSeaJoshua
Anda juga dapat menemukan "nama" Anda dengan mengetik whoamidi konsol.
Jadam
1
@Jadam Teknik ini tidak berhasil untuk saya. Saya mendapatkan dua nama berbeda. Untuk situasi server lokal, "Nama Komputer" adalah salah satu yang berfungsi.
moeamaya
1
Bagi saya, saya tidak pernah ke mana pun menggunakan name.local, namun menggunakan alamat IP sebenarnya berfungsi. Saya akan mengatakan pemecahan masalah menggunakan alamat IP aktual tertentu yang bertentangan dengan kenyamanan sesuatu seperti name.local yang hanya menambahkan lapisan komplikasi lain.
MarsAndBack
1
Ini harus menjadi jawaban yang diterima. Tidak memerlukan penyiapan atau modifikasi tambahan pada file server Node.js saat ini. @ ma11hew28
BenS
14

Coba aktifkan Berbagi Internet:
Buka Preferensi Sistem -> Berbagi. Periksa Berbagi Internet untuk menyalakannya, itu akan meminta Anda untuk mengkonfirmasi tindakan Anda, pilih ok. Jika iPhone Anda terhubung menggunakan USB, USB iPhone dicentang di daftar "berbagi koneksi Anda" di sisi kanan.
Setelah ini, coba akses server lokal Anda menggunakan macs ip di wifi.

maqbulh
sumber
9

Masalah saya sama, tetapi solusinya berkaitan dengan mengubah pengaturan firewall. Ternyata node itu disetel untuk memblokir lalu lintas masuk. Saya tahu ada sesuatu yang terjadi karena saya dulu bisa masuk ke server localhost saya dari ponsel saya.

Buka System Preferences -> Security & Privacy -> Firewall -> Firewall Options , lalu gulir ke bawah hingga Anda menemukan node dan pastikan pengaturan node diatur ke Izinkan koneksi masuk .

Setelah mengubah pengaturan, saya dapat menjangkau server localhost (port 3000) yang berjalan di Mac saya dengan membuka http://192.168.1.11:3000

David Rajcok
sumber
Firewall adalah satu-satunya penyebabnya. Semuanya baik-baik saja.
mythicalcoder
oh nak, kamu menyelamatkan aku! Terima kasih!!
GoOlga
7

Saya memecahkan masalah serupa.

  • menghubungkan Mac dan iPhone ke Wi-Fi yang sama
  • ubah pengaturan iPhone Wi-Fi, atur proxy http ke manual dan ubah Server ke alamat ip Mac Anda dan atur Port. Port saya adalah 80.

gambar satu

gambar dua

  • Anda dapat memasukkan http://<Mac ip>:<your customer server port>dalam safari iPhone
HasjOH
sumber
5

Pengguna MacOS Sierra dapat menemukan URL cantik yang dibuat secara otomatis dengan membuka System Preferences > Sharingdan memeriksa di bawah input teks Nama Komputer. Untuk mengaksesnya, masukkan URL ini, ditambah nomor port Anda (misalnya nama-Anda.local: 8000), pada iPhone Anda melalui koneksi Wi-Fi yang sama dengan komputer Anda.

brogrammer
sumber
4
  1. Hubungkan iPhone Anda ke Mac melalui USB.

  2. Buka Utilitas Jaringan (cmd + spasi dan ketik "utilitas jaringan")

  3. Buka tab "Info"

  4. Klik menu drop-down yang bertuliskan "Wi-Fi" dan pilih "iPhone USB" seperti yang ditunjukkan di sini:

    Foto untuk Langkah 4

  5. Anda akan menemukan alamat IP seperti "xxx.xxx.xx.xx" atau yang serupa. Buka browser Safari di iPhone Anda dan masukkan IP_address: port_number

    Contoh: 169.254.72.86:3000

[CATATAN: Jika kolom alamat IP kosong, pastikan iPhone Anda terhubung melalui USB, keluar dari Network Utility, buka lagi dan periksa alamat IP.]

arjunkm
sumber
3

Saya menyarankan untuk menggunakan nama komputer, mis http://mymac:1337/. Bekerja untuk saya sempurna tanpa konfigurasi apa pun yang diperlukan dan saya tidak perlu peduli tentang mengubah alamat IP karena DHCP.

stiebitzhofer
sumber
3

pastikan ponsel dan mesin mac Anda terhubung ke wifi yang sama dan Anda siap menggunakannya http://<machine-name>.local

Muhaimin
sumber
2

Seperti yang diposting, saya mengikuti jawaban moeamaya tetapi perlu memodifikasinya sedikit untuk melihat pekerjaan saya di direktori Situs.

http://[name].local.~[username]/

[nama] seperti yang telah dinyatakan (Preferensi Sistem / berbagi / "Nama Komputer")

[username] ditemukan di:

/etc/apache2/users/username.conf

semoga ini membantu!

naiJenn
sumber
Di mana saya dapat menemukan file username.conf di mac?
kentang
1
Lihat di folder / Users Anda di root @brumbrum
Alfred
1
Anda juga dapat menulis whoamidi terminal
Alfred
1

Mencoba semuanya di halaman ini, tetapi http://<name>.local:<PORT>hanya berfungsi di iPhone saya setelah saya keluar dan memulai ulang Safari ...

fisikaAI
sumber
0

Selalu gunakan IP yang ditampilkan di pengaturan Jaringan Anda. Ini berubah ketika Anda mengubah lokasi dan Anda menggunakan koneksi nirkabel lain.

Misalnya dalam kasus saya sekarang adalah: 10.0.0.5

edgarascom.dll
sumber
Anda dapat mencoba, tetapi tidak akan berhasil dalam semua keadaan. Anda telah membuat asumsi bahwa saya tidak melihat dalam pertanyaan, tentang konfigurasi jaringan.
benc
Nah, asumsi ini membantu saya menyelesaikan masalah serupa kemarin. Saya tidak dapat menemukan IP untuk dihubungkan. Perintah terminal tidak berfungsi. Apa yang berhasil, adalah IP dalam pengaturan Jaringan. (Saya menjalankan server lokal apache di mac)
edgarascom