myesn

myEsn2E9

hi
github

ASP.NET Core: nginx 逆プロキシの後にクライアント IP が失われる

nginx ウェブサイトの設定に次の指示を追加します:

server {

    # リバースプロキシ
    location / {
        proxy_pass            http://127.0.0.1:5000;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP         $remote_addr;
        proxy_set_header Forwarded         $proxy_add_forwarded;
        proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host  $host;
        proxy_set_header X-Forwarded-Port  $server_port;
    }
}

nginx 設定を変更した後は nginx -s reload を忘れずに実行してください。

ASP.NET Core プログラムに次のミドルウェアを追加します:

app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});

設定が完了したら、元の方法でクライアントの IP を取得できるようになります。ミドルウェアが適応問題を処理します。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。