2017-10-09 3 views
0

127.0.0.1:8000で動作するGunicornサーバへのリバースプロキシとしてNginxを設定しました。Flaskデプロイメントサーバは、サーバ名をアドレスにリダイレクトします

nginxの構成は、このようなものです:

server { 
     server_name www.programlama.tk; 
     rewrite^http://programlama.tk/ permanent; 
} 

server { 
listen 80; # listen onport 80 
server_name programlama.tk localhost; #requests to this domain or ip 

location/{ 
    include proxy_params; 
    proxy_pass http://127.0.0.1:8000; 
     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
} 

これまでのところは良いです。私のフラスコのアプリケーションでは、ユーザーが認証するとき、ユーザーのホームページにリダイレクトする簡単な方法があります。これは「ev」です。 「Ev」は家を意味する。

@app.route('/ev') 
def ev(): 
    return render_template('ev.html') 

しかし、その代わりにhttp://programlama.tk/evこれのそれは

http://programlama.tk%2Cprogramlama.tk/ev

に存在しない、このアドレスをリダイレクトします。また、リダイレクトアドレスにサーバー名を追加します。

答えて

0

nginxの設定をビットas described in the documentationに変更しました。

これは期待どおりに動作します。

location/{ 
    proxy_pass   http://127.0.0.1:8000/; 
    proxy_redirect  off; 

    proxy_set_header Host     $host; 
    proxy_set_header X-Real-IP   $remote_addr; 
    proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Proto $scheme; 
} 
関連する問題