将多个站点 Addresses/Labels(包括 IP)重定向到 Caddyfile 中的特定 Site/Label

Redirect Multiple Site Addresses/Labels (Including IP) to a Specific Site/Label in Caddyfile

我有一个服务器 运行 Caddy,可以在域 rv2680.1blu.demarleneschulz.info 下访问。两条 DNS A 记录都指向 IP 地址 178.254.7.175。我想确保 Caddy 总是将用户重定向到 https://marleneschulz.info.

这是我的工作 Caddyfile :

www.marleneschulz.info {
    redir https://marleneschulz.info
}

https://marleneschulz.info {
    root /app/marlene/shared

    proxy / django_prod:5000 {
        header_upstream Host {host}
        header_upstream X-Real-IP {remote}
        header_upstream X-Forwarded-Proto {scheme}

        except /static
    }

    log stdout
    errors stdout
    gzip
}

我怎样才能阻止 Caddy 响应,例如404 Site rv2680.1blu.de is not served on this interface 通过显式定义将每个请求从 rv2680.1blu.de:80rv2680.1blu.de:443178.254.7.175:80178.254.7.175:443marleneschulz.info 重定向到 https://marleneschulz.info?

我也有点困惑,因为 docs 没有说明 www. 前缀。 我想尽可能明确。

您可以定义几个 catch-all 站点并重定向它们:

http://, https:// {
    redir https://marleneschulz.info{uri}
}

(我添加了 {uri} 是因为我假设您想在重定向中保留 URI。)

使用 http://, https:// 作为站点地址与使用 :80, :443 相同。

www 前缀也没有什么特别之处。如果您想枚举所有要重定向的网站,您可以将 www.marleneschulz.info 指定为其中之一,就像任何其他网站一样。