header background image

Plesk中のDockerで起動したdotnet coreプログラムにIPアドレスを取得する

2022年2月17日☕️ 1 min read

dotnet coreプログラムでIPアドレスを取得するのに難しくないです。

var ipAddress = Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString();

しかし、Dockerの中に起動したら、上記の方法はサーバのローカルIPアドレスしか取得できません。本来のIPアドレスを取得するために、NGINXの設定が必要です。Pleskを例として設定してみましょう。

Pleskの設定

nginx.png

下記の設定をしておきましょう。

real_ip_header X-Forwarded-For;

nginx-settings.png

dotnet coreプログラムの設定

var ipAddress = Request.Headers["X-Forwarded-For"].FirstOrDefault() ?? Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString();

ご参考までに。

ThunderMiracle

Blog part of ThunderMiracle.com

コメントは表示領域に入ると読み込みます