【发布时间】:2019-11-21 08:59:12
【问题描述】:
我的环境: Ubuntu 18.04、Asp.net Core 2.1、Nginx
我遵循this 教程。 我在 Startup.cs 中添加了这段代码:
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
我配置我的 Nginx 配置:
listen *:443 ssl http2;
location / {
proxy_pass https://localhost:6001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-Proto-Version $http2;
client_max_body_size 32m;
keepalive_timeout 200;
send_timeout 20;
client_body_timeout 50;
proxy_set_header X-Forwarded-For $remote_addr;
}
我通过以下方式获取远程 IP:
var ip = HttpContext.Connection.RemoteIpAddress?.ToString();
但它总是从任何 IP 返回 127.0.0.1。
【问题讨论】:
标签: c# nginx asp.net-core