فهرست منبع

!820 BUG:前端使用代理时获取到的LocalHost有误,导至文件上传时获取不了正常的文件完整路径
Merge pull request !820 from koy0755/BUG获取接口地址有误

zuohuaijun 2 سال پیش
والد
کامیت
fd86d5b753
1فایلهای تغییر یافته به همراه9 افزوده شده و 1 حذف شده
  1. 9 1
      Admin.NET/Admin.NET.Core/Util/CommonUtil.cs

+ 9 - 1
Admin.NET/Admin.NET.Core/Util/CommonUtil.cs

@@ -45,7 +45,15 @@ public static class CommonUtil
     /// <returns></returns>
     public static string GetLocalhost()
     {
-        return $"{App.HttpContext.Request.Scheme}://{App.HttpContext.Request.Host.Value}";
+        string result = $"{App.HttpContext.Request.Scheme}://{App.HttpContext.Request.Host.Value}";
+        // 客户端调用如果使用了代理,上面的方式就获取不了真正的本机地址了
+        /* 一般代码的头都是:
+         * X-Original-Host=原始请求
+         * X-Forwarded-Server=从哪里转发过来
+         * */
+        if (App.HttpContext.Request.Headers.ContainsKey("X-Original-Host")) 
+            result = $"{App.HttpContext.Request.Scheme}://{App.HttpContext.Request.Headers["X-Original-Host"]}";
+        return result;
     }
 
     /// <summary>