Ip
是否可以將本地埠重定向到 LAN 埠?
我正在使用帶有虛擬環境的 Flask 應用程序。當我啟動伺服器時,我可以通過 IP 在本地訪問它
127.0.0.1:5000
,但我想讓它在我的WLAN
(pointing at 10.0.0.1:5000)
. 我不知道這是否可能,虛擬環境類型使我的伺服器成為沙盒。我天真地試圖改變我的
/etc/hosts
文件127.0.0.1 10.0.0.2
但是當我在http://10.0.0.2:5000>啟動瀏覽器時,這不起作用。(我仍然可以訪問<http://10.0.0.2上的其他服務,但埠 5000 的重定向不起作用)。
我不確定是否正確。幫助將不勝感激。
編輯 虛擬環境,我只是使用virtualenv,一個處理 python 依賴的實用程序。然後我安裝了Flask-SocketIO。我不確定它是否真的是沙盒,但事實是我無法連接到埠 5000。
如果我做
sudo nestat -anp | grep 5000
我得到:
tcp 0 0 127.0.0.1:5000 0.0.0.0:* LISTEN 18541/python
為什麼不讓 Flask 監聽所有公共 IP。
http://flask.pocoo.org/docs/0.10/quickstart/#a-minimal-application
外部可見伺服器
如果您執行伺服器,您會注意到伺服器只能從您自己的電腦訪問,而不能從網路中的任何其他電腦訪問。這是預設設置,因為在調試模式下,應用程序的使用者可以在您的電腦上執行任意 Python 程式碼。
如果您已禁用調試或信任網路上的使用者,則只需將 run() 方法的呼叫更改為如下所示即可使伺服器公開可用:
app.run(host=‘0.0.0.0’)
這告訴您的作業系統偵聽所有公共 IP。