ガンコーンをオンにしてFlaskアプリを実行していますhttp://127.0.0.1:4000
:
gunicorn -b 127.0.0.1:4000 webapp:app
ここで、nginx をリバース プロキシとして使用しhttp://myserver.com/webapp
、http://127.0.0.1:4000
すべてhttp://myserver.com/webapp/subpath
がhttp://127.0.0.1:4000/subpath
.
サブパスを使用しない場合、プロキシ/リダイレクトはうまく機能します。
upstream app {
server 127.0.0.1:4000 fail_timeout=0;
}
server {
listen 80 default;
client_max_body_size 4G;
server_name _;
location / {
proxy_pass http://app;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
どうすれば設定できますか
location /webapp {
#go to my gunicorn app, translate URLs nicely
}
Flask 開発者からのこのヒントは機能しませんでした: http://flask.pocoo.org/snippets/35/
解決済み: スニペットhttp://flask.pocoo.org/snippets/35/が機能します! テンプレートにいくつかの絶対 URL (例: /task/delete
) があり、すべてを に変更する必要がありましたurl_for()
。
愚かな...しかし、今では期待どおりに動作し、「http://myserver.com/subpath」にアプリがあります