Caddy 子域问题,`ERR_SSL_VERSION_OR_CIPHER_MISMATCH`

问题描述 投票:0回答:1

第一次使用Caddy。我有一个运行 Docker 容器的 VPS(Hetzner,如果相关的话)来托管我的项目。到目前为止,那里只托管了一个 API,Caddy 负责处理 HTTPS 并充当反向代理,通过子域过滤项目之间的流量。

在添加 Caddy 之前,后端使用 uvicorn for FastAPI 运行良好。

我无法让 Caddy 配置正常工作。我几乎尝试了所有我能想到的组合。对于下面当前的 Caddyfile,块 1-4 可以正常工作。块 5,即使只有响应字符串,也不会。

# 1. This block only works for HTTP requests, not HTTPS as Caddy doesn't provide SSL certs for IP addresses. Not a problem. 
server_ip {
    redir https://www.mydomain.win 301
}

# 2. Redirect all to www.
mydomain.win {
    redir https://www.mydomain.win 301
}

# 3. Redirect all subdomain requests to www.
*.mydomain.win {
    redir https://www.{host}{uri} 301
}

# 4. This block is so I can see how the server has responded to the request
www.mydomain.win {
    @http {
        protocol http
    }
    @https {
        protocol https
    }

    respond @http "Responded by HTTP" 200
    respond @https "Responded by HTTPS" 200
}

# 5. This should ultimately be acting as a reverse proxy, fow now I just want to get it to respond with the below message.
www.subdomain.mydomain.win {
    respond "Requested subdomain" 200
#    reverse_proxy localhost:8000
}

我大多得到

ERR_SSL_VERSION_OR_CIPHER_MISMATCH
。我可以在证书文件夹中看到它为我尝试访问的子域生成了证书。我正在使用最新的浏览器,但我没有指定密码,因为我认为 Caddy 应该自动执行此操作?

当我将此文件与其他示例进行比较时,它看起来已经明显更加复杂。我尝试指定证书路径位置和不同的密码组合,但没有任何变化。

有明显的地方我出错了吗?

ssl https reverse-proxy vps caddy
1个回答
0
投票

它似乎与 Cloudflare 的代理有关 - 关闭此代理,同时将 SSL 模式保持为严格可以让连接正常工作。切换代理需要一段时间才能生效,因此您必须停用它,然后等待一段时间。我不知道为什么会发生这种情况,只是禁用代理解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.