2015-08-09 9 views
15

Sto leggendo la documentazione di Flask. Mi è stato detto che con app.run(host='0.0.0.0'), potrei rendere il server disponibile al pubblico.Cosa significa "app.run (host = '0.0.0.0')" nel pallone

Che cosa significa? Come posso visitare il server su un altro computer (solo localhost:5000 nel mio computer)?

+0

0.0.0.0 uguale a collegare tutte le interfacce. Altrimenti, vincola solo uno (10.0.0.4) – dsgdfg

+0

Ma è necessario inoltrare la porta sul router alla macchina dev e fornire al mondo il tuo indirizzo IP pubblico (di solito significa indicare un nome di dominio tramite DNS). –

risposta

8

Per rispondere alla seconda domanda. Puoi semplicemente premere l'indirizzo IP della macchina su cui è in esecuzione la tua app, ad es. 192.168.1.100 in un browser su una macchina diversa sulla stessa rete e ci sei. Tuttavia, non sarai in grado di accedervi se sei su una rete diversa. Firewall o VLans possono causare problemi nel raggiungere la tua applicazione. Se quel computer ha un IP pubblico, allora puoi colpire quell'IP da qualsiasi parte del pianeta e sarai in grado di raggiungere l'app. Di solito questo potrebbe imporre qualche configurazione, dato che la maggior parte dei server pubblici sono dietro una sorta di router o firewall.

+0

Ma non posso visitare su un'altra macchina ... – Ding

+0

Ho chiuso il firewall. Il mio indirizzo IP esterno è 115.XXX.XXX.XXX, ho visitato http://115.XXX.XXX.XXX:5000 su un altro computer. Non ha funzionato. – Ding

+0

Imposta nginx (o qualche altro server web) e collega il tuo IP interno, ad es. '192.168.1.100' sul server web. Per nginx controlla qui: http://nginx.org/en/docs/http/ngx_http_upstream_module.html. Fammi sapere se ottieni uno stack. – ipinak