Flask'a uzak bağlantılar nasıl izin verilir?

22

Sistemin içinde sanal makinede çalışan sunucuya 127.0.0.1:5000 adresinden erişebiliyorum.

vm 'uzak' adresi 192.168.56.101 (ping ve ssh iyi çalışıyor) olsa da, sanal makineden ne de yerel olandan sunucuya 192.168.50.101:5000 erişemiyorum.

Sanırım uzaktan bağlantıları önleyen bir şey var.

İşte / etc / ağ / arayüzler:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0

ufw etkin değil.

Bu sorunu nasıl gideririm?

    
sordu Ilya Smagin 01.12.2012 22:34

3 cevap

39

Her şeyden önce, HTTP sunucunuzun aşağıdaki sonuçları kontrol ederek 192.168.50.101:5000 veya her yerde ( 0.0.0.0:5000 ) dinlendiğinden emin olun:

netstat -tupln | grep ':5000'

Değilse, localhost dışındaki bir adrese bağlanmak için Flask'in dokümanlarına bakın.

Eğer öyleyse, iptables kullanarak trafiğe izin verin:

iptables -I INPUT -p tcp --dport 5000 -j ACCEPT

Flask'in dokümantasyonundan:

  

Harici Görünür Sunucu Eğer sunucuyu çalıştırırsanız fark edeceksiniz.   sunucuya sadece kendi bilgisayarınızdan erişilebilir, herhangi birinden değil   ağdaki diğer. Bu hata ayıklama modunda bir varsayılan çünkü   Uygulamanın kullanıcısı sizin için isteğe bağlı Python kodunu çalıştırabilir   bilgisayar.

     

Hata ayıklamanız varsa veya ağınızdaki kullanıcılara güveniyorsanız, şunları yapabilirsiniz:   sunucunun çağrısını değiştirerek sunucuyu herkese açık hale getirin.   Buna benzemek için run() yöntemi:

app.run(host='0.0.0.0')
    
verilen cevap Marcin Kaminski 01.12.2012 22:49
0

Sadece aynı sorunu yaşadım. Bunu çözmek için uygulamayı çalıştırmanın yolunu güncelledim:

 app.run(debug=True,host='0.0.0.0')

Ana makine kullanıyorum = 0.0.0.0, uygulamanıza yerel ağım aracılığıyla erişeyim.

    
verilen cevap Alex andre 24.02.2018 15:14
0

Bunu yapmanın en iyi yolu

flask run --host=0.0.0.0
    
verilen cevap Hassaan 26.07.2018 18:31

Etiketlerdeki diğer soruları oku