我已经尝试设置一个球童服务器,处理自动SSL生成为我的客户。但我不断得到错误,虽然有时它工作,我不知道为什么。我是新的球童,并可以使用一些指针,下一步尝试什么。
使用:
Ubuntu 22.04
Caddy v2.6.4
用例:
我有一个SaaS平台,客户可以在那里注册,并输入他们的域名。然后客户端创建CNAME或A记录指向我的Caddy服务器 dns.example.com
。
如果我创建一个test test.example.com
并将其指向Caddy服务器 dns.example.com
,它在HTTP上运行良好。但是如果我尝试HTTPS,我得到的是ERR_SSL_PROTOCOL_ERROR
。
有趣的是,有时候,出乎意料地,我的一些测试实际上可以在HTTPS上工作。所以我一定很接近了,一定有什么是对的,但还没有完全做到。
当前Caddyfile:
{
on_demand_tls {
ask app.example.com/tls-check
}
storage redis caddy_ssl_certificates
}
:80 {
respond /health "Im healthy!" 200
reverse_proxy * app.example.com {
header_up Host {host}
header_up X-Fwd-For {remote_host}
header_up X-Fwd-Proto {scheme}
header_up X-Caddy-Hash mysecret
health_timeout 5s
}
}
:443 {
tls email@example.com {
on_demand
}
reverse_proxy * app.example.com {
header_up Host {host}
header_up X-Fwd-For {remote_host}
header_up X-Fwd-Proto {scheme}
header_up X-Caddy-Hash mysecret
health_timeout 5s
}
}
字符串
上面的内容在HTTP上运行得很好,如果我尝试在端口80上替换侦听器来强制HTTPS,我只得到ERR_SSL_PROTOCOL_ERROR
。
:80 {
respond /health "Im healthy!" 200
redir https://{host}{uri}
}
型
我是不是漏掉了什么?
1条答案
按热度按时间goqiplq21#
尝试注解询问指令行并重试。询问URL与域名作为查询字符串的一部分应该返回200状态码。