GitHub Release / release (push) Canceled after 0s
ci / ci (22, ubuntu-latest) (push) Canceled after 0s
Publish Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Canceled after 0s
Publish Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Canceled after 0s
Publish Docker image / merge (push) Canceled after 0s
启用双域名时以确认框提示锁死风险与恢复方式,不再强制校验 Host。 新增 clear-domains 运维 CLI 与相关文档。
25 lines
747 B
TypeScript
25 lines
747 B
TypeScript
export function hostnameFromBaseUrl(value: string): string | null {
|
|
const trimmed = value.trim()
|
|
if (!trimmed) return null
|
|
try {
|
|
return new URL(trimmed).hostname.toLowerCase()
|
|
} catch {
|
|
return null
|
|
}
|
|
}
|
|
|
|
/** 勾选分离且网站域、图片域主机名不同 → 保存后将启用双域名中间件隔离 */
|
|
export function willActivateDomainSeparation(
|
|
enabled: boolean,
|
|
siteBaseUrl: string,
|
|
imageBaseUrl: string
|
|
): boolean {
|
|
if (!enabled) return false
|
|
const site = siteBaseUrl.trim()
|
|
const image = imageBaseUrl.trim()
|
|
if (!site || !image) return false
|
|
const siteHost = hostnameFromBaseUrl(site)
|
|
const imageHost = hostnameFromBaseUrl(image)
|
|
return Boolean(siteHost && imageHost && siteHost !== imageHost)
|
|
}
|