diff --git a/src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Models/ReverseProxyConfig.cs b/src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Models/ReverseProxyConfig.cs
index e269b2493f7..4f43a526852 100644
--- a/src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Models/ReverseProxyConfig.cs
+++ b/src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Models/ReverseProxyConfig.cs
@@ -148,17 +148,17 @@ static string GetDomainPatternString(string s)
// return result;
//}
- public bool TryGetDomainConfig(string domain, [MaybeNullWhen(false)] out IDomainConfig value)
+ public bool TryGetDomainConfig(string url, [MaybeNullWhen(false)] out IDomainConfig value)
{
//value = domainConfigCache.GetOrAdd(domain.Host, GetDomainConfig);
- var uri = new UriBuilder(domain).Uri;
+ var uri = new Uri(url);
domainConfigCache.TryGetValue(uri.Host, out value);
if (value != null)
return true;
- value = GetDomainConfig(domain);
+ value = GetDomainConfig(uri.Host);
if (value == null)
return false;
diff --git a/src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Services.Implementation/HttpServer/Middleware/HttpReverseProxyMiddleware.cs b/src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Services.Implementation/HttpServer/Middleware/HttpReverseProxyMiddleware.cs
index 5b1f8fd180d..c003d50d88d 100644
--- a/src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Services.Implementation/HttpServer/Middleware/HttpReverseProxyMiddleware.cs
+++ b/src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Services.Implementation/HttpServer/Middleware/HttpReverseProxyMiddleware.cs
@@ -93,7 +93,7 @@ var protocol when protocol.StartsWith("HTTP/3") => System.Net.HttpVersion.Versio
}
if (domainConfig.Items.Any_Nullable())
- domainConfig = RecursionMatchDomainConfig(url, domainConfig);
+ domainConfig = RecursionMatchDomainConfig(context.Request.Host.Host, domainConfig);
if (domainConfig.Response == null)
{
@@ -158,16 +158,16 @@ var protocol when protocol.StartsWith("HTTP/3") => System.Net.HttpVersion.Versio
///
/// 递归匹配子域名配置
///
- ///
+ ///
///
///
- static IDomainConfig RecursionMatchDomainConfig(string url, IDomainConfig domainConfig)
+ static IDomainConfig RecursionMatchDomainConfig(string domain, IDomainConfig domainConfig)
{
if (domainConfig.Items.Any_Nullable())
{
- var item = domainConfig.Items.FirstOrDefault(s => s.Key.IsMatch(url)).Value;
+ var item = domainConfig.Items.FirstOrDefault(s => s.Key.IsMatch(domain)).Value;
if (item != null)
- return RecursionMatchDomainConfig(url, item);
+ return RecursionMatchDomainConfig(domain, item);
}
return domainConfig;
}