{"title":"Rails \u306e request.remote_ip \u306b\u306f\u4f55\u306e\u5024\u304c\u5165\u3063\u3066\u3044\u308b\u306e\u304b","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fspitfire-tree.hatenadiary.org%2Fentry%2F20130612%2F1371006354\" title=\"Rails \u306e request.remote_ip \u306b\u306f\u4f55\u306e\u5024\u304c\u5165\u3063\u3066\u3044\u308b\u306e\u304b - happy lie, happy life\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","published":"2013-06-12 12:05:54","width":"100%","blog_url":"https://spitfire-tree.hatenadiary.org/","author_url":"https://blog.hatena.ne.jp/spitfire_tree/","description":"\u8868\u984c\u306e\u901a\u308a Rails 3.2.X \u7cfb\u306e request.remote_ip \u306b\u5165\u3063\u3066\u3044\u308b\u5024\u306b\u3064\u3044\u3066\u8abf\u3079\u307e\u3057\u305f\u3002 \u6700\u521d\u306b\u7d50\u8ad6 \u30ea\u30af\u30a8\u30b9\u30c8\u30d8\u30c3\u30c0\u3092\u8aad\u307f HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, REMOTE_ADDR \u306e\u9806\u306b\u30bb\u30c3\u30c8\u3055\u308c\u3066\u3044\u305f\u5024\u3092\u53d6\u5f97\u3057\u3066\u304d\u307e\u3059\u3002 \u30bd\u30fc\u30b9\u30b3\u30fc\u30c9 http://api.rubyonrails.org/classes/ActionDispatch/RemoteIp/GetIp.html\u4e0a\u8a18 API \u306b\u3082\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u304c calculate_ip \u304c\u8a72\u5f53\u306e\u30e1\u30bd\u30c3\u30c9\u3067\u3059\u3002 # File actionpack/lib/action_disp\u2026","type":"rich","provider_url":"https://hatena.blog","height":"190","url":"https://spitfire-tree.hatenadiary.org/entry/20130612/1371006354","author_name":"spitfire_tree","image_url":null,"categories":["Rails"],"version":"1.0","provider_name":"Hatena Blog","blog_title":"happy lie, happy life"}