2017-06-28 6 views
0

私はすべてのリクエストをabc.example.comにリダイレクトし、example.comに送信しようとしています。Flaskリダイレクトは、プロダクションサーバにget%20 /%20HTTP/1.1)uriを追加します。ローカルで細かい作業をする

@app.route('/', methods=['GET']) 
    def message_get(): 
     return redirect('https://example.com') 

ただし、プロダクションサーバーでは失敗します。代わりにリダイレクト得るための、URLは次のようになります%20 /%の20HTTP/1.1 abc.example.comget

)URI

私はこの

のように全体のURLに置く場合ことを観察しました

https://abc.example.com

それが適切にリダイレクトします。 abc.example.comまたはhttp://abc.example.comが失敗します。

私はgunicornアプリケーションサーバーを備えたフラスコアプリを持っています。 Nginxはリバースプロキシとして使用されます。そのうちのどれが問題を引き起こしているのか判断できません。私のnginx設定と何かを推測する。しかし、どんな指針が役に立つでしょう。ありがとう。

nginxの設定:あなたの最初のサーバーセクションのタイプミスを持って

server { 
     listen 80 default_server; 
     listen [::]:80 default_server; 
     server_name abc.example.com; 
     return 301 https://$server_name$request)uri; } 

    server{ 

     # SSL configuration 

     server_name abc.example.com; 
     listen 443 ssl http2 default_server; 
     listen [::]:443 ssl http2 default_server; 
     include snippets/ssl-abc.example.com.conf; 
     include snippets/ssl-params.conf; 

     location/{ 
      include proxy_params; 
      proxy_pass http://unix:/home/user1/apps/myapp/myapp.sock; 
     } 

     location ~ /.well-known { 
        allow all; 
      } 
} 
+0

あなたのnginxの設定を表示してください。 –

+0

@DanielRosemanが更新しました。 –

答えて

0

。それはする必要があります:

return 301 https://$server_name$request_uri; 
+0

これはダムだった!早速のお返事ありがとうございます。多分私はこれを削除する必要がありますか? –

関連する問題