HTTPプロキシ—Werkzeugのドキュメント

提供:Dev Guides
Werkzeug/docs/1.0.x/deployment/proxying
移動先:案内検索

HTTPプロキシ

多くの人は、スタンドアロンのPython HTTPサーバーを使用し、nginx、Apacheなどを介してそのサーバーをプロキシすることを好みます。

非常に安定したPythonサーバーはCherryPyです。 ドキュメントのこの部分では、WSGIアプリケーションをCherryPy WSGIサーバーと組み合わせる方法と、プロキシ用にWebサーバーを構成する方法を示します。

.py サーバーの作成

アプリケーションを実行するには、WSGIサーバーを起動する start-server.py ファイルが必要です。

それはこれらの線に沿って何かに見えます:

from cherrypy import wsgiserver
from yourapplication import make_app
server = wsgiserver.CherryPyWSGIServer(('localhost', 8080), make_app())
try:
    server.start()
except KeyboardInterrupt:
    server.stop()

ここでファイルを起動すると、サーバーは localhost:8080 でリッスンします。 WSGIアプリケーションは、プロキシされたセットアップではわずかに異なる動作をすることに注意してください。 プロキシ用のアプリケーションをまだ開発していない場合は、ProxyFixミドルウェアを適用できます。


nginxの構成

例として、サーバーにプロキシするようにnginxを構成する方法をここに示します。

基本的なnginx構成は次のようになります。

location / {
    proxy_set_header        Host $host;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass              http://127.0.0.1:8080;
    proxy_redirect          default;
}

Nginxはサーバーを起動しないため、自分で起動する必要があります。 そのための init.d スクリプトを作成するか、画面セッション内で実行することができます。

$ screen
$ python start-server.py