2016-06-15 70 views
1

我使用虛擬箱管理中心從Windows機器運行Ubuntu的虛擬箱Ubuntu上運行。在虛擬機框內Ubuntu的我正在運行一個蟒蛇燒瓶應用程序在http://localhost:5000運行。訪問Web服務器上的Windows主機

我試圖訪問使用VM盒IP,我得到了使用ifconfig Windows機器上的虛擬機盒本地主機URL。但它說:

Your Internet access is blocked 

我是否正確地訪問它?

這裏是我的Python代碼燒瓶:

from flask import Flask 
app = Flask(__name__) 

@app.route("/") 
def hello(): 
    return "Hello World!" 

if __name__ == "__main__": 
    app.run() 
+0

您是否在燒瓶應用程序中設置了主機? –

+0

@HassanMehmood更新我的Python代碼燒瓶您 – iJade

+0

需要給這樣app.run主機(主機=「0.0.0.0」) –

回答

4

你需要指定主機= '0.0.0.0',同時啓動您的應用程序。默認情況下,它只接受來自本地主機的請求。因此,如果您從其他IP發送請求,則必須指定主機。

看下面的例子。

from flask import Flask 
app = Flask(__name__) 

@app.route("/") 
def hello(): 
    return "Hello World!" 

if __name__ == "__main__": 
    app.run(host='0.0.0.0') 

此外,如果您要在訪問應用程序時激活調試模式來分析異常/錯誤。您還可以將調試屬性設置爲「真」。

if __name__ == "__main__": 
    app.run(host='0.0.0.0', debug=True) 
+0

這很有用,但host ='0.0.0.0'究竟是什麼意思? – Echelon

+1

@Echelon這意味着您的服務器現在可以從任何IP地址訪問。 –

+1

哇。哇。哇非常非常感謝:) – Nabin

0

下面的代碼可以讓你從任何公共IP訪問網頁瓶改爲127.0.0.1

if __name__ == '__main__': 
    app.run(host='0.0.0.0', debug='TRUE') 

的默認瓶在端口上運行:5000。有時在VM這個端口將被阻止。要允許此端口上的流量執行以下命令。

iptables -I INPUT -p tcp --dport 5000 -j ACCEPT 
相關問題