【问题标题】:Simplest way to setup remote admin access to a web2py process设置远程管理员访问 web2py 进程的最简单方法
【发布时间】:2018-11-24 04:17:24
【问题描述】:

好的my question here 应该更重要。底线是:我有一个远程 linux 机器,我在上面启动了 web2py 就好了——它提示我访问本地主机上的 8000 端口。

但是,当我尝试远程访问该端口时,我无法通过 http 或 https 建立连接。

那么问题就变成了,提供对 web2py 的远程管理员访问的最快最简单的方法是什么?我不想设置 Apache 和 mod_proxy(尽管我确实设法设置了它),我不想配置 Apache 以使用这个 wsgi 包装器。如果这是我仅有的两个选择,那就这样吧,我会努力完成的。

但我宁愿只使用某种允许安全远程访问的选项启动 web2py 并完成它。

【问题讨论】:

    标签: web-applications web2py


    【解决方案1】:

    出于安全原因,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. 然后使用证书文件启动 web2py 应用程序

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

    4. 然后去浏览器打开,请注意https很重要

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

    这应该会打开远程机器上的管理应用程序。

    最好的方法是做你想做的事,

    使用 this nice script (setup-web2py-nginx-uwsgi-ubuntu.sh) 在 ubuntu 上使用 uWSGI 使用 web2py 设置 nginx。该脚本将为您设置所需的 https 和 http 通道。

    上述方法适用于开发环境而不是生产环境

    【讨论】:

      【解决方案2】:

      最简单的方法是使用 SSH 端口转发。这使您可以像本地主机一样访问它,并且它是通过加密连接进行的。

      格式:

      $ ssh -L localhostport:localhost:remoteport remoteip
      

      示例:这会将远程端口 8000(web2py 默认)转发到 localhost:80

      $ ssh -L 80:localhost:8000 remoteip
      

      【讨论】:

        猜你喜欢
        • 2016-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-10
        • 2010-10-18
        • 2016-07-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多