Python FlaskがNginxをエージェントとして使用する場合の実際のIPの取得方法
588 ワード
まず、Nginxの構成です.転送されたリクエストheadersにリアルIPを設定する必要があります.
次にFlaskでheadersでIPを取得します.
ユーザがエージェントを使用する場合,取得したIPがエージェント後のIPである場合,上位IPを取得する必要がある.X-Forwarded-ForによってIPのリンク(結果は配列)を取得し、IPはカンマで区切られます.
参考自:Python FlaskがNginxをエージェントとして使用する場合の実際のIPの取得方法
location /path {
proxy_pass http://127.0.0.1:5000/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
次にFlaskでheadersでIPを取得します.
ip = request.headers.get('X-Real-IP')
ユーザがエージェントを使用する場合,取得したIPがエージェント後のIPである場合,上位IPを取得する必要がある.X-Forwarded-ForによってIPのリンク(結果は配列)を取得し、IPはカンマで区切られます.
ip = request.headers.get('X-Forwarded-For')
参考自:Python FlaskがNginxをエージェントとして使用する場合の実際のIPの取得方法