2017-10-03 22 views
1

私はPython/FlaskアプリケーションをAWS Elastic Beanstalk上で実行しています。Python on AWSリモートIPアドレスを取得

Pythonスクリプトがトリガーされているが、pythonスクリプトのrequest.environ ['REMOTE_ADDR']を使っているユーザーのリモートIPアドレスを取得する必要があります。それは、ユーザーのIPアドレスではなく、自分のサーバーのプライベートIPアドレスに見えるものを返します。

http://xxxxxx-env.eu-west-2.elasticbeanstalk.com/xxx

XXX含む私のPythonアプリケーションに解決:

if ('REMOTE_ADDR' in request.headers): 
    print (request.environ['REMOTE_ADDR']) 

しかし、結果は次のとおりです。 172.31.xx.xxx

私の実際のIPがあるとき:

83.164 .xx.xxx

bodyは、ユーザーのリモートIPを取得する方法について正しい方向で私を指しますか?

答えて

1

私はこれを解決することができました。 Elastic Beanstalkは自動的にリモートIPアドレスを渡し、次のように取得できます。

if (request.access_route): 
    #return remote ip 
    remoteIP = request.access_route[0] 
    #return full ip list (if more than one passed through) 
    remoteIPRaw = request.access_route