2017-08-11 7 views
0

私のpython 3ではフラスコベースのウェブサイトが最近ubuntu 14.04から16.04にアップグレードされました。私は奇妙なことに気づいた私は私のサイトをnginx(1.12.2)の背後にあるgunicornを使って実行し、hrefタグで定義されているブログのようなリンクを "/ blog"をクリックするとクリックすると、domain.comにリダイレクトされます、domain.com/blog?私がリンク上にマウスをかざすと、domain.com/blogとして適切なリンクが表示されます。私がgunicornとnginxを使わずにサイトをローカルに起動すると、正しく動作します。 osバージョンとnginxとともにアップグレードされたモジュールだけでコードに変更はありません。 Btw私はサーカスprocマネージャを使用してこれを実行しています。部分的なURLのリンクにカンマとドメイン名を追加する

これを引き起こしている可能性のあるポインタが必要ですか?

答えて

0

昨日同じ問題が発生したため、これはgunicornではなくNginxの設定で問題になる可能性があります。私はちょうどこれの初心者ですが、私は予期せぬ方法でヘッダーの "X-Forwarded-For"に何らかの形で反応すると思います。

私の解決策は、サイトが有効になっている(利用可能な)下にあるconfファイルの最初の行を削除し、それが機能しない場合は2番目の行を削除します。

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $host; 
0

私の場合、これはNginxの問題でした。 nginxの設定は、このようなものだった:私が持っている

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

:カンマで

Location : https://domain.test,domain.test 

2つのURLを分離しました。 そして問題は、私はそれをコメントし、サイトがうまく機能

proxy_set_header Host $http_host; 

の/ etc/nginxの/ proxy_paramsにこのラインにありました。 したがって、正しい設定は次のとおりです。

  location/{ 
     # include proxy_params; -- remove this line 
     proxy_set_header Host     $host; 
     proxy_set_header X-Real-IP   $remote_addr; 
     proxy_set_header X-Forwarded-For  
     proxy_pass http://127.0.0.1:7001; 
       } 
関連する問題