10

ガンコーンをオンにしてFlaskアプリを実行していますhttp://127.0.0.1:4000

gunicorn -b 127.0.0.1:4000 webapp:app

ここで、nginx をリバース プロキシとして使用しhttp://myserver.com/webapphttp://127.0.0.1:4000すべてhttp://myserver.com/webapp/subpathhttp://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」にアプリがあります

4

1 に答える 1

13

私は問題を解決しました: スニペットhttp://flask.pocoo.org/snippets/35/は機能します。テンプレートに絶対 URL を含めるのは愚かでした。私はそれをに変更しましたがurl_for()、今では魅力のように機能します。

于 2013-07-23T01:06:29.657 に答える