[英]Get client IP inside Middleware Localhost
誰能幫我。 我想知道是否有任何方法可以在我創建的中間件中獲取客戶端IP。
我試過了:
env["REMOTE_ADDR"]
env["HTTP_X_FORWARDED_FOR"]
這些都不返回任何東西。
所有這些之后,我已經進入了中間件:
在我的application.rb中
config.middleware.insert_after ActionDispatch :: Head, "MyMiddleware".
有人可以幫我嗎?
謝謝。
request.env
request.env
=> {"GATEWAY_INTERFACE"=>"CGI/1.1",
"PATH_INFO"=>"/events/1",
"QUERY_STRING"=>"",
"REMOTE_ADDR"=>"127.0.0.1",
"REMOTE_HOST"=>"127.0.0.1",
"REQUEST_METHOD"=>"GET",
"REQUEST_URI"=>"http://localhost:3000/events/1",
"SCRIPT_NAME"=>"",
"SERVER_NAME"=>"localhost",
"SERVER_PORT"=>"3000",
"SERVER_PROTOCOL"=>"HTTP/1.1",
"SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/2.2.0/2014-09-17)",
"HTTP_HOST"=>"localhost:3000",
"HTTP_USER_AGENT"=>"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:32.0) Gecko/20100101 Firefox/32.0",
"HTTP_ACCEPT"=>"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"HTTP_ACCEPT_LANGUAGE"=>"en-US,en;q=0.5",
"HTTP_ACCEPT_ENCODING"=>"gzip, deflate",
"HTTP_DNT"=>"1",
"HTTP_COOKIE"=>"nameofapp-example_session=Qnh5ZMQVN5V2821f",
"HTTP_CONNECTION"=>"keep-alive",
"HTTP_CACHE_CONTROL"=>"max-age=0",
...
這些都是可以使用的鍵。 在您的情況下,這將是兩者之一
request.env["REMOTE_ADDR"]
request.env["REMOTE_HOST"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.