3

Django / admin / URLをローカルホストのみがアクセスできるようにする最も簡単な方法は何ですか?

私が考えたオプション:

  • 管理サイトをプロジェクトから分離し(何らかの方法で)、別の仮想ホストとして実行します(Apache2で)
  • ホスティング(Apache2)Webサーバーの前でプロキシを使用する
  • どういうわけか、WSGI内のApacheのURLを制限します。

標準的なアプローチはありますか?

ありがとう!

4

2 に答える 2

13

Idはapache構成に行きます:

<Location /admin>
    Order Deny, Allow
    Deny from all
    Allow from 127.0.0.1
</Location>

HTH。

于 2012-10-18T17:28:46.350 に答える
2

私はApache構成に行きます+前にプロキシを実行します+WSGIで制限します:

  1. 動的コンテンツの生成が含まれる場合、ApacheがWebクライアントと通信するのは嫌いです。実行モデルのため、低速または切断されたクライアントがApacheプロセスを拘束する可能性があります。前にプロキシがある場合(私はnginxを好みますが、バニラApacheでも可能です)、プロキシはクライアントについて心配し、Apacheは新しい動的コンテンツ要求に集中できます。

  2. Apacheの構成によっては、プロセスが大量のメモリを丸呑みし、MaxRequestsに到達するまでそれを保持することもあります。/ adminにメモリを大量に消費するコードがある場合(多くの人がそうします)、必要以上に多くのメモリを取得するApacheプロセスになってしまう可能性があります。Apacheの設定を/adminと/!adminに分割すると、apacheの設定を微調整して、より少ない潜在的なフットプリントを必要とする/!adminサーバーの数を増やすことができます。

  3. 私はパラノイドサーバーのセットアップです。

    • プロキシが/adminを特定のApacheポートにのみ送信するようにしたい。
    • Apacheが特定のApacheポートでのみ/adminを受信し、プロキシ(シークレットヘッダー付き)またはローカルホストから送信されたことを確認したいと思います。
    • WSGIが特定のサーバー/クライアント条件に基づいて/adminのものだけを実行していることを確認したいと思います。
于 2012-10-18T17:44:23.063 に答える