HTTPプロキシ—Werkzeugのドキュメント
提供:Dev Guides
Werkzeug/docs/2.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