fix: improve host normalization logic to correctly handle port separators

This commit is contained in:
2026-07-22 11:46:14 +08:00
parent eab743412e
commit 34ea4e5da3

View File

@@ -71,8 +71,11 @@ public final class RequestUrlUtils
String normalized = host.trim().toLowerCase(); String normalized = host.trim().toLowerCase();
if (normalized.startsWith("[") && normalized.contains("]")) { if (normalized.startsWith("[") && normalized.contains("]")) {
normalized = normalized.substring(1, normalized.indexOf(']')); normalized = normalized.substring(1, normalized.indexOf(']'));
} else if (normalized.indexOf(':') == normalized.lastIndexOf(':')) { } else {
normalized = normalized.substring(0, normalized.indexOf(':')); int portSeparator = normalized.lastIndexOf(':');
if (portSeparator > -1 && normalized.indexOf(':') == portSeparator) {
normalized = normalized.substring(0, portSeparator);
}
} }
return "localhost".equals(normalized) return "localhost".equals(normalized)
|| "127.0.0.1".equals(normalized) || "127.0.0.1".equals(normalized)