2015-08-09 25 views
15

Czytam dokumentację Flask. Powiedziano mi, że dzięki app.run(host='0.0.0.0') mogę udostępnić serwer publicznie.Co oznacza "app.run (host =" 0.0.0.0 ') "w Flask

Co to znaczy? Jak mogę odwiedzić serwer na innym komputerze (tylko localhost:5000 na moim komputerze)?

+0

0.0.0.0 równa się powiązanie wszystkich interfejsów. W przeciwnym razie powiąż tylko jeden (10.0.0.4) – dsgdfg

+0

Ale będziesz musiał przekazać port routera do maszyny dev i podać światu publiczny adres IP (zazwyczaj oznacza to wskazanie nazwy domeny przez DNS). –

Odpowiedz

8

Aby odpowiedzieć na twoje drugie pytanie. Możesz po prostu nacisnąć adres IP komputera, na którym działa twoja aplikacja do kolb, np. 192.168.1.100 w przeglądarce na innym komputerze w sieci tej samej sieci i tam jesteś. Jednak nie będziesz mieć do niego dostępu, jeśli jesteś w innej sieci. Zapory ogniowe lub VLans mogą powodować problemy z dotarciem do aplikacji. Jeśli ten komputer ma publiczny adres IP, możesz uderzyć w to IP z dowolnego miejsca na świecie, a będziesz mieć dostęp do aplikacji. Zwykle może to wymagać pewnej konfiguracji, ponieważ większość publicznych serwerów znajduje się za jakimś routerem lub zaporą.

+0

Ale nie mogę odwiedzić innej maszyny ... – Ding

+0

Zamknąłem zaporę ogniową. Mój zewnętrzny adres IP to 115.XXX.XXX.XXX, odwiedziłem http://115.XXX.XXX.XXX:5000 na innym komputerze. To nie zadziałało. – Ding

+0

Skonfiguruj nginx (lub inny serwer WWW) i połącz swój wewnętrzny adres IP, np. '192.168.1.100' na serwer WWW. Aby sprawdzić zawartość nginx: http://nginx.org/en/docs/http/ngx_http_upstream_module.html. Daj mi znać, jeśli zdobędziesz stos. – ipinak