2013-02-14 5 views
19

Sto utilizzando VS2012 con IIS Express e non riesco a sfogliare i miei siti Web utilizzando il mio indirizzo IP. C'è un modo per farlo? Funzionava bene con le versioni precedenti di VS.Sfoglia sito Web con indirizzo IP invece di localhost

Ad esempio, questo indirizzo funziona bene:

http://localhost:64651/ 

Ma, questo indirizzo non funziona.

http://192.168.252.165:64651/ 

Sono sicuro dell'indirizzo IP, dato che l'ho appena usato con ipconfig.

+0

funziona 127.0.0.1:64651? – LDJ

+0

No, 'http: //127.0.0.1: 64651 /' non funziona. Dice che la pagina web non può essere trovata. Quando cambio l'URL in 'http: // localhost: 64651 /' il sito si presenta bene. – ADH

+0

Avete configurato il port forwarding? se non vedi http://portforward.com/ –

risposta

32

Passare alla cartella IISExpress>Config, individuare applicationhost.config. Cambiare <bindings> come di seguito:

<bindings> 
     <binding protocol="http" bindingInformation="*:1407:YOUR_IP_ADDRESS" /> 
</bindings> 

Prima di fare questo, si dovrà registrare questo indirizzo IP utilizzando netsh comando come di seguito:

Port forwarding in Windows 7

Se sei con Windows 7, praticamente tutte le connessioni in entrata sono bloccate, quindi è necessario consentire in particolare le connessioni in entrata all'applicazione. Innanzitutto, avviare un prompt dei comandi amministrativo. In secondo luogo, eseguire questi comandi, sostituendo 192.168.1.11:1234 con qualsiasi IP e la porta che si sta utilizzando:

> netsh http add urlacl url=http://192.168.1.11:1234/ user=everyone 

Questo dice solo http.sys che è ok per parlare con questo URL.

IMPORTANTE: il parametro user = everyone deve essere specificato in base alla lingua del sistema. Quindi se la lingua di Windows è spagnola il parametro deve essere user = todos.

> netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=1234 profile=private remoteip=localsubnet action=allow 

Questo aggiunge una regola in Windows Firewall, che consente le connessioni in entrata a 58938 porta per computer sulla informazioni subnet.More locale this link.

Port forwarding Mac OS X

Fase 1: vista corrente di regole firewall

sudo ipfw show 

Fase 2: Aggiungi porta regola di inoltro (80-8080)

La porta di default che Tomcat gira su è 8080, quindi qui mostriamo il comando per eseguire il porting fowarding dalla porta 80 alla 8080 (porta predefinita di Tomcat). Ovviamente, questo funziona anche per gli altri porti e dovresti semplicemente regolare il comando di conseguenza.

sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in 

Questa è una modifica temporanea e verrà ripristinata dopo il riavvio. Se vuoi renderlo permanente, puoi creare un demone lauch per questo.

Rimuovere regola opzionale

Se si desidera rimuovere le regole del firewall gestita:

sudo ipfw flush 

Port Forwarding Utilizzando pfctl (aka PF) su Mac OS X

Il setup per pfctl è simile a ipfw. L'utente di Github kujon ha creato un nice guide per mostrare come configurare il port forwarding dalla porta 80 a un'altra porta usando pfctl.

Nota: Assicurarsi di modificare i binding del progetto solo individuandone il nome. È anche possibile mantenere il binding localhost e aggiungerne uno nuovo, in questo modo è possibile accedere alla stessa pagina Web utilizzando sia l'indirizzo IP specificato sia il binding del vecchio localhost.

+0

Grazie per la risposta. Sono su Windows 7 Enterprise. Come registro l'indirizzo IP usando netsh? – ADH

+0

Ok, posso visualizzare la pagina web con localhost e il mio indirizzo IP dalla mia macchina. Ma, e forse avrei dovuto dirlo in primo luogo, il mio iPod Touch, che è collegato alla stessa rete wireless, non può vedere la pagina web. Il punto è che sto cercando di creare un sito Web per dispositivi mobili e la distribuzione su un server remoto impiega troppo tempo a testare le modifiche. – ADH

+0

Ho contrassegnato la risposta come risolta. Ho anche verificato l'aggiunta della regola del firewall in entrata. Ho provato anche un'altra macchina sulla rete, ma non riesco ancora a vedere la pagina web anche se posso eseguire il ping da lì alla mia macchina locale. – ADH