竜巻リクエストのクライアントIPを取得するにはどうすればよいですか?
質問
私は持っています RequestHandler
着信のためのオブジェクト post()
s。どうすれば見つけることができますか IP クライアントがリクエストをしている?私はほとんどを閲覧しました RequestHandler
の方法と特性は、何かを見逃したようです。
解決
RequestHandler.request.remote_ip
(RequestHandlerのインスタンスから)
次のような応答を検査できます。
...
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write(repr(self.request))
...
他のヒント
Mykhalの答えは正しいですが、たとえばNginxとUWSGIを使用すると、常に次のようなものを取得する場合、アプリケーションがプロキシの背後にある場合があります。 127.0.0.1
リモートIP用。この場合、次のようにヘッダーを確認する必要があります。
x_real_ip = self.request.headers.get("X-Real-IP")
remote_ip = x_real_ip or self.request.remote_ip
所属していません StackOverflow