2012-10-11 46 views
5

好吧my question here應該已經更加重要了。底線是:我有一個遠程Linux機器,我啓動了web2py就可以了 - 它提示我訪問本地主機上的8000端口。設置遠程管理員訪問web2py進程的最簡單方法

但是,當我嘗試遠程訪問該端口時,無法通過http或https建立連接。

所以問題是,提供遠程管理訪問web2py的最簡單方法是什麼?我不想設置Apache和mod_proxy(雖然我設法設置),我不想配置Apache來使用這個wsgi包裝。如果這些是我唯一的選擇,那就這樣吧,我會盡力完成。

但我寧願用一些允許安全遠程訪問並使用它的選項啓動web2py。

回答

2

要做到這一點是SSH端口轉發的最簡單方法。這允許您像本地主機那樣訪問它,並且它是通過加密連接。

格式:

$ ssh -L localhostport:localhost:remoteport remoteip 

例如:這將轉發遠程端口8000(web2py的默認值),爲localhost:80

$ ssh -L 80:localhost:8000:remoteport remoteip 
11

由於安全原因,除非您使用安全通道,即web2py禁用遠程訪問管理應用程序。 HTTPS。你所需要做的就是設置它。

最短的方式做你想要的是,

  1. 開始通過生成您的證書文件,如果你沒有他們已經

    openssl genrsa -out server.key 2048

    openssl req -new -key server.key -out server.csr

    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

  2. 將server.key和server.crt文件複製到您的web2py根文件夾。

  3. 然後使用證書文件

    python web2py.py -a 'AdminPwd' -c server.crt -k server.key -i 0.0.0.0 -p 8000

  4. 然後轉到瀏覽器並打開啓動web2py的應用程序,請注意HTTPS是重要

    https://IpAddr:8000/admin/default/site

這應該是op在遠程計算機上的管理應用程序。

最好的方式做你想要的是,

使用this nice script (setup-web2py-nginx-uwsgi-ubuntu.sh)與Ubuntu上使用uWSGI的web2py設置nginx的。該腳本將爲您設置所需的https和http頻道。

上述方法意在開發環境中使用,而不是生產環境

+0

有幫助!謝謝 – klashxx

相關問題