Dizüstü bilgisayarımdaki yerel bir web sunucusuna başka bir bilgisayardan nasıl erişirim? [kapalı]


37

Bilgisayarımda çalışan bir uygulamam var 127.0.0.1:3000

Bu uygulamaya aynı ağa bağlı bir iPhone'dan erişmek istiyorum. Bunu daha önce yaptım ama nasıl yaptığımı boşa harcadım. Herhangi bir fikir?


2
deneyin rails server -b 0.0.0.0, ardından bunu iPhone'unuzda tarayın.
zx1986

Yanıtlar:


37

Öncelikle, web sunucusu çalıştırmakta olduğunuz makinenin ip adresini veya adını belirlemeniz gerekir. macosxTalimatlar linux makineler için benzer olmasına rağmen postalarınızı etiketlediğiniz için web sunucusunu bir mac üzerinde çalıştırdığınızı farz ediyorum . Yani, mac'inizde:

  • Terminal.app. Altında Applications->Utilities.
  • ifconfigTerminalde koş . Bu, makinedeki tüm ağ arayüzlerini gösterir. Bunlardan biri, makinenizin aktif olarak bağlı olduğu ağdır. Mac'iniz kablolu bir bağlantıda ise, olması gereken en0. Daha sonra adresi not alın inet- makinenizin kullandığı adres bu olmalıdır.
    • 192.168.10.1 olduğunu keşfettiğinizi varsayalım.
  • Bu adrese sunucunuzdan bağlanabildiğinizi doğrulayın nc -v 192.168.10.1 3000.
    • Gibi bir mesaj görmelisin Connection to 192.168.10.1 3000 port [tcp/http] succeeded!.
    • Bu işe yaramazsa, aşağıya bakın.
    • ctrl-CÇalışırsa, nc oturumundan çıkmak için tuşuna basın.
  • Şimdi istemci makinenize bağlanmayı deneyin.

Sunucunuzun gerçek adresindeki uygulamanıza bağlanamıyorsanız, bu, uygulamanızın bu adresi dinlemediği anlamına gelir. Bu davranışı değiştirmek için uygulama yapılandırmanızı nasıl değiştireceğinizi araştırmanız gerekecektir. Hangi uygulamayı çalıştırdığınızı bilmediğim için bu konuda iyi fikirler sunamıyorum.


10x dostum ... üstünde Wamp sunucusu olan bir Windows tabanlı sistem hakkında konuşurken ne fark eder ki ... herhangi bir fark var mı?
Sagive SEO

Mac Sierra'yı kullanıyorum. Sunucuya mac'umdan (sunucunun çalıştığı yer) 10.55.18.22:3000 aracılığıyla erişebiliyorum, ancak her ikisi de aynı ağda olsa bile, başka bir makineden erişemiyorum. Web paylaşım seçeneği sierra'da mevcut değildir. Bu işi nasıl yapabiliriz?
santhosh kumar

saanthosh: Yönlendiricideki port yönlendirmeye bakın. OSX'in internet paylaşım özelliğini keşfetmeden önce yaptığım şey buydu (görünüşe göre en azından OSX 10.6'dan beri mevcuttu). OSX dev makinemle aynı oda / ağdaki çeşitli mobil cihazlarda localhost testi yaptım, yönlendirici yapılandırmasında standart / küçük değişiklikler yapılabildi (yani port yönlendirme). Diğer makaleler ve SO konuları, yönlendirici yapılandırması hakkında bilgi sağlar. Sonuçta şimdi yeni bir konumdayım ve yönlendiriciye erişimim yok, bu yüzden aynı şeyi elde etmek için OSX (High Sierra) internet paylaşımını kullanıyorum.
MarsAndBack

12

Mac'inizin adını hostname(Terminal isteminde) kullanarak bulun ve URL’nizde kullanın. Örneğin http: //Tonys-iMac.local: 3000 /

Herhangi bir nedenle Bonjour ortamınızda çalışmıyorsa, iMac veya MacBook'taki Havaalanı adresini bulun.

ipconfig getifaddr en1

veya genel olarak

ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')


Bu cevapta ana bilgisayar adınızı ve ip adresinizi bulma konusunda benimki üzerinde bazı iyileştirmeler var.
Phil Hollenback

2
Bonjour neden işe yaramaz ki? Ana bilgisayar adım gm20152.local. Ama aynı makinede gm20152.local: 3000 çalıştığımda , geçerli bir sayfa görüntülüyor. Ancak android telefonumda gm20152.local: 3000'i denediğimde , telefonumdaki tarayıcı ana bilgisayarı bulamadı. Bunun telefonumun gm20152.local ile macbook'umun ip adresini eşlemesinin bir yolu olmadığını düşünüyorum. Bunu nasıl başarabilirim?
gprasant

@gprasant Bonjour'u kullanmak için Android'i almak oldukça zor görünüyor
James

5

Temel olarak, güvenlik duvarı ayarlarından belirli bir uygulamanın (örn. Yakut) gelen bağlantıları kabul etmesine izin verebilirsiniz. Ayrıca dış dünyaya erişime izin vermek için (örn. Www), trafiği iç ağ geçidinize yönlendirmeniz gerekir: yönlendirici ayarlarınız üzerinden bağlantı noktası.

İşte bunun nasıl yapılacağı:

  1. Mac-> Sys Tercihler-> Paylaşma-> “Web Paylaşımı” nı etkinleştir onay kutusu
  2. Mac-> Sys Tercihler-> Güvenlik-> uygulamanızın (örneğin yakut) gelen bağlantıyı kabul etmesine izin verin
  3. Trafiğiniz için_web_ip: portunuzu local_gateway: port'a iletmek için yönlendirici üzerinde bir port açın (192.168.1.1 üzerinden):

    1. Örneğin, Verizon’un yönlendirici ayarlarından -> Port Yönlendirme -> kural oluştur: yerel ağ geçidine ilet (örn. 192.168.1.4), özel port, protokol tcp, source = any, destination = 3280, tüm bağlantı türleri, port = forward.

Bitti. Şimdi uzaktaki bilgisayardan, tarayıcınızı web ip adresinize açın ( yukarıdaki http://www.whatismyip.com/ adresinden bulun ) + yukarıdaki # hedef bağlantı noktası, örneğin 72.189.194.65:3280, yerel 192.168.1.4’e bağlanacaktır. : 3000

Not: Mac OSX 10.7.5’de çalışıyorum


2

127.0.0.1, her bilgisayarın kendisi için sahip olduğu yerel adrestir. Makinenin gerçek IP adresinin (veya Ana Bilgisayar / Bonjour adının) ne olduğunu bulmanız gerekir. WLAN kullanıyorsanız, Sistem Tercihleri, Ağ bölümüne gidin ve kablo ya da Havaalanı kullanıyorsanız Ethernet portu için makinenin IP'sini arayın. Ardından bu adresi iPhone'daki Safari'de: 3000 bölümüyle birlikte açın.


Ayrıca Paylaşım Tercihi Bölmesi her zaman, bilgisayarınıza erişilebilecek bir ad veya adres gösterir.
James,

2

Uygulama yalnızca 127.0.0.1:3000 tarihinde dinliyorsa, başka bir bilgisayardan erişemezsiniz. Bunu yapmak için IP veya 0.0.0.0 (mevcut tüm arayüzler) Dinle'yi yapılandırmak gerekir.

İkinci seçenek bir proxy kullanmaktır.

Üçüncü seçenek ise, iphone'dan ssh yapabiliyorsanız, ssh yönlendirmesini de kullanabilirsiniz.

ssh kullanıcısı @ host -L 3000: 127.0.0.1: 3000

Ardından iphone'unuzda açın 127.0.0.1:3000


1
AFAIK, bir iPhone'da ssh port yönlendirme yapamazsınız. Zaten hapse atılmadıysa hayır.
Sven

Dinle 0.0.0.0! Bunu nasıl düşünemedim?
Gustavo Straube,

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.