Procházet zdrojové kódy

配置Nginx转发获取客户端真实IP

zuohuaijun před 3 roky
rodič
revize
2f6a857b3a
1 změnil soubory, kde provedl 6 přidání a 2 odebrání
  1. 6 2
      Admin.NET/Admin.NET.Web.Core/Startup.cs

+ 6 - 2
Admin.NET/Admin.NET.Web.Core/Startup.cs

@@ -52,10 +52,14 @@ public class Startup : AppStartup
             })
             .AddInjectWithUnifyResult<AdminResultProvider>();
 
-        // Nginx转发实际IP
+        // 配置Nginx转发获取客户端真实IP
+        // 注1:如果负载均衡不是在本机通过 Loopback 地址转发请求的,一定要加上options.KnownNetworks.Clear()和options.KnownProxies.Clear()
+        // 注2:如果设置环境变量 ASPNETCORE_FORWARDEDHEADERS_ENABLED 为 True,则不需要下面的配置代码
         services.Configure<ForwardedHeadersOptions>(options =>
         {
-            options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
+            options.ForwardedHeaders = ForwardedHeaders.All;
+            options.KnownNetworks.Clear();
+            options.KnownProxies.Clear();
         });
 
         // 限流服务