227 字
1 分钟
XTLS Caddy 共用443端口

如果用自己的域名证书并用 caddy 做 SSL 的落地(假设用 A 端口,A 不等于 443)

Xray 监听 443 端口,Reality 的目标写 domain.com:A, SNI 写 domain.com

这样用浏览器访问的流量会自动被转发到 A 端口,根本不需要写 fallback。

然后在 caddy 中用 reverse_proxy 转到对应的服务中即可。但是遇到几个小坑

  • 有时候浏览器会访问不出来,需要做一个 80 端口的跳转
http://www.domain.com {
redir https://{hostonly}:A{uri}
}
  • 如果浏览器访问有时候能成功有时候不成功,用 curl -v6curl -v4 检查 caddy 是不是抢了 ipv6 的 443 端口,不要在 caddyfile 里面有其他服务,而改用 handle 二级域名处理,比如
@komari host xxx.domain.com
handle @xxx {
reverse_proxy 127.0.0.1:22222
}
  • 如果成功后依然有些 api 调用会失败。这时修改一下,加个 header_up 即可
reverse_proxy 127.0.0.1:3333 {
header_up Host {host}
}