Non è possibile accedere a localhost tramite IP locale

4

Voglio collegarmi al mio server Web locale (server NodeJS) che gira sul mio MacBook con il mio iPhone.

Sul mio Mac posso accedere al server tramite http://localhost:3000/ . Ora tutto ciò che si dovrebbe fare è sostituire localhost con l'indirizzo IP locale del mio Mac come questo http://192.168.0.13:3000/ . Tuttavia, sul mio iPhone non riesco ad accedere al server in questo modo e anche quando provo ad aprire http://192.168.0.13:3000/ sul mio Mac, non viene stabilita alcuna connessione.

Questo è sicuramente un problema con il mio Mac e non con il mio programma perché quando eseguo il server su Windows e provo a connetterlo con l'indirizzo IP locale funziona perfettamente.

Anche provare questo in un'altra rete Wi-Fi non aiuta o la modifica della porta non cambia nulla.

Sto usando Mac OSX 10.11.5 e il mio firewall è spento.

Come posso risolvere questo problema?

Tabelle di routing ( netstat -r )

(soppresso)

    
posta HansMu158 21.08.2016 - 17:02
fonte

2 risposte

1

Per quanto posso dire, il comportamento è corretto. Un server Web di nodo base utilizza dns.js per risolvere qualsiasi nome host, che a sua volta utilizza il metodo di risoluzione DNS del sistema.

Un hostname "127.0.0.1" e "localhost" non possono essere risolti dal risponditore mDNS di OS X (né non-reverse né reverse).

Quindi utilizza l'IP del tuo Mac (ad esempio 192.168.0.13) o il suo nome host (ad es. tims-macbook-pro) come nome host. Per pubblicizzare il servizio in Bonjour devi usare dns-sd .

O crea diversi IP di ascolto come in questo q & a .

    
risposta data 21.08.2016 - 20:36
fonte
0

Puoi risolvere questo problema in tre modi:

  1. Esegui uno strumento di scansione delle porte da iPhone per assicurarti che la porta sia effettivamente aperta sul Mac. Regole del firewall, NAT improprio, problemi di router / switch possono essere la causa di un altro dispositivo che non riesce a raggiungere il percorso corretto sul tuo Mac. Se il PC è in grado di eseguire la scansione delle porte o navigare sul server Web Mac, saprai che non è necessariamente il Mac.
  2. Problemi DNS - invece di codificare l'indirizzo IP, puoi passare al link - che assicurerà che il browser funzioni se il dispositivo iOS è su una configurazione solo IPv6. Improbabile, ma a un certo punto questo sarà più comune. Puoi anche utilizzare l'indirizzo IPv6 del Mac invece dell'indirizzo IPv4.
  3. Configurazione proxy su iOS - di nuovo, se il tuo dispositivo iOS ha una VPN o un proxy web configurato, non sarà necessariamente disponibile sul web server Mac. Anche i passaggi per il triage sono diversi.
risposta data 21.08.2016 - 20:16
fonte

Leggi altre domande sui tag