Memo

メモ > 技術 > フレームワーク: SpringBoot > IPアドレスを取得

■IPアドレスを取得
一例だがコントローラーで以下のように取得し、
@GetMapping(value = "/dev/") String index(Model model, HttpServletRequest request) { model.addAttribute("remoteAddr", request.getRemoteAddr()); model.addAttribute("xForwardedFor", request.getHeader("X-Forwarded-For")); return "dev/index"; }
テンプレートで以下のように表示できる
<p>remoteAddrは [[${remoteAddr}]] です。</p> <p>X-Forwarded-Forは [[${xForwardedFor}]] です。</p>
ローカル開発環境では、以下のように表示される
remoteAddrは 0:0:0:0:0:0:0:1 です。 X-Forwarded-Forは です。
本番環境を想定したNginx+SpringBoot環境では、以下のように表示される(この時点ではX-Forwarded-Forの値が表示されていない)
remoteAddrは 127.0.0.1 です。 X-Forwarded-Forは です。
/etc/nginx/conf.d/https.conf で以下を追加すると
proxy_set_header X-forwarded-For $proxy_add_x_forwarded_for;
以下のように表示される(X-Forwarded-Forの値も表示される)
remoteAddrは 127.0.0.1 です。 X-Forwarded-Forは 203.0.113.1 です。
Spring Bootでリクエストを送ったクライアントのIPアドレスを取得してみた|ITエンジニアとして経験・学習したこと https://www.purin-it.com/spring-boot-show-ipaddress Java(Spring)でクライアントのIPアドレスを取得する方法 - yu_memorandumの日記 https://yu-memorandum.hatenablog.com/entry/2020/08/17/004251 こんばんは、X-Forwarded-For警察です - エムスリーテックブログ https://www.m3tech.blog/entry/x-forwarded-for

Advertisement