From ca2e7e525429f802dc5df0dc384f46dfd0cf89f6 Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Fri, 22 Nov 2024 22:22:39 +0800 Subject: [PATCH] =?UTF-8?q?http=E4=BB=A3=E7=90=86=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E8=A7=A3=E5=86=B3=E5=A4=9A=E4=B8=AA=E4=B8=BB=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E5=AD=98=E5=9C=A8=E4=B8=8A=E4=B8=8B=E7=BA=A7=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=E6=97=B6=EF=BC=8C=E5=9F=9F=E5=90=8D=E6=98=A0=E5=B0=84?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E6=AD=A3=E5=B8=B8=E4=BD=BF=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/neutrinoproxy/server/util/ProxyUtil.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/util/ProxyUtil.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/util/ProxyUtil.java index b163dca2..14b777cf 100644 --- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/util/ProxyUtil.java +++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/util/ProxyUtil.java @@ -401,11 +401,12 @@ public class ProxyUtil { * 通过完整域名获取域名id */ public static Integer getDomainNameIdByFullDomain(String fullDomain) { - List domains = domainToDomainNameIdMap.keySet().stream().filter(item -> fullDomain.endsWith(item)).collect(Collectors.toList()); - // 不存在 或者 有多条记录,返回null - if (CollectionUtil.isEmpty(domains) || domains.size() > 1) { + List domains = domainToDomainNameIdMap.keySet().stream().sorted((a,b) -> b.length() - a.length()).filter(item -> fullDomain.endsWith(item)).collect(Collectors.toList()); + // 不存在,返回null + if (CollectionUtil.isEmpty(domains)) { return null; } + // 优先匹配最长的域名,默认取第一个,后续思考如何优化 return getDomainNameIdByDomain(domains.get(0)); }