Sto usando Flask su Windows 7. Pallone e relative versioni sono al di sotto:Flask ascolta solo su 127.0.0.1 ignorando parametro host
Flask==0.10.1
Werkzeug==0.9.3
Accesso al app dallo stesso computer è OK utilizzando http://127.0.0.1:5000
Tuttavia da un altro computer in LAN l'accesso non riesce: http://192.168.101.103:5000
avvio l'app con questi parametri:
#app.py
if __name__ == '__main__':
app.run(host='0.0.0.0:5000')
Una cosa che non capisco è, quando inizio netcat sullo stesso computer, in cui Flask è attualmente in ascolto sulla stessa porta, funziona, e netcat è ancora accessibile da un altro computer:
>c:\Python27\python manage.py runserver
>
* Running on http://127.0.0.1:5000/
* Restarting with reloader
opere. ..
>nc -l -p 5000
funziona sullo stesso computer, stessa porta ???
GET/HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: de-DE
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0;
Accept-Encoding: gzip, deflate
Host: 192.168.101.103:5000
DNT: 1
Connection: Keep-Alive
anche accettare la connessione da un altro computer ???
Quindi accanto alla domanda ovvia, come ottenere Flask che serve per LAN, sono curioso, come potrebbero due processi di una macchina ascoltare sulla stessa porta?
Grazie!
Sembra che la dichiarazione è stata ignorata. Ho disabilitato 'if __name__ == '__main __':' e ho ottenuto l'errore su 'app.run (host =" 0.0.0.0:5000 ")' Ora funziona, ma ha uno strano comportamento di avvio/arresto. A volte al riavvio Flask però si lega a 127.0.0.1. Penso di dover andare per nginx come server proxy per il Flask per servire in LAN –
Non usare il server integrato per altro che lavori di sviluppo. Non è costruito per questo. In produzione, utilizzare gunicorn o un altro contenitore. –