5

ここでの私の質問は、もっと的を射たものであるべきでした。要するに: 私はリモートの Linux ボックスを持っていて、web2py を起動しました。ローカルホストのポート 8000 にアクセスするように促されています。

ただし、そのポートにリモートでアクセスしようとすると、http または https 経由で接続を確立できません。

そこで問題は、web2py へのリモート管理者アクセスを提供する最も簡単で最速の方法は何でしょうか? Apache と mod_proxy をセットアップする気はありませんが (セットアップはできましたが)、この wsgi ラッパーを使用するように Apache を構成する気もありません。それらが私の唯一の2つのオプションである場合でも、それを成し遂げようとします.

しかし、安全なリモート アクセスを可能にする何らかのオプションを使用して web2py を起動し、それで完了したいと考えています。

4

2 に答える 2

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. 次に、証明書ファイルを使用して 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

これにより、リモート マシンで管理アプリケーションが開きます。

あなたが望むことをするための最良の方法は、

この素敵なスクリプト (setup-web2py-nginx-uwsgi-ubuntu.sh)を使用して、ubuntu で uWSGI を使用して web2py で nginx をセットアップします。スクリプトは、必要な https および http チャネルをセットアップします。

上記の方法は、本番環境ではなく開発環境で使用することを意図しています

于 2012-10-12T19:42:45.460 に答える
2

これを行う最も簡単な方法は、SSH ポート フォワーディングを使用することです。これにより、ローカル ホストと同じようにアクセスでき、暗号化された接続を介してアクセスできます。

フォーマット:

$ ssh -L localhostport:localhost:remoteport remoteip

例: これは、リモート ポート 8000 (web2py のデフォルト) を localhost:80 に転送します。

$ ssh -L 80:localhost:8000 remoteip
于 2013-12-24T18:44:33.853 に答える