Ter*_*non 5 web-applications web2py
好吧,我的问题应该更加重要.底线是:我有一个远程linux盒子,我启动web2py就好了 - 它促使我访问localhost上的端口8000.
但是,当我尝试远程访问该端口时,我无法通过http或https建立连接.
那么问题就变成了,为web2py提供远程管理员访问的最快最简单的方法是什么?我不想设置Apache和mod_proxy(虽然我确实设法得到它设置),我不想让Apache配置使用这个wsgi包装器.如果那些是我唯一的两个选择,那么就这样吧,我会尽力完成.
但我宁愿用某种选项启动web2py,它允许安全的远程访问并完成它.
Aks*_*het 11
出于安全原因,除非您使用安全通道,否则web2py将禁用远程访问管理应用程序,即.HTTPS.你需要做的就是设置它.
做你想做的最短的方法是,
如果您还没有证书文件,请先生成证书文件
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
将server.key和server.crt文件复制到web2py根文件夹.
然后使用证书文件启动web2py应用程序
python web2py.py -a 'AdminPwd' -c server.crt -k server.key -i 0.0.0.0 -p 8000
然后转到浏览器并打开,请注意https很重要
https://IpAddr:8000/admin/default/site
这应该打开远程计算机上的管理应用程序.
做你想做的最好的方法是,
使用这个漂亮的脚本(setup-web2py-nginx-uwsgi-ubuntu.sh)在ubuntu上使用uWSGI使用web2py设置nginx.该脚本将为您设置所需的https和http频道.
上述方法旨在用于开发环境而非生产环境
最简单的方法是使用 SSH 端口转发。这允许您像本地主机一样访问它,并且是通过加密连接进行的。
格式:
$ ssh -L localhostport:localhost:remoteport remoteip
Run Code Online (Sandbox Code Playgroud)
示例:这会将远程端口 8000(web2py 默认)转发到 localhost:80
$ ssh -L 80:localhost:8000 remoteip
Run Code Online (Sandbox Code Playgroud)