Caddy 反向代理到 /dir/ 到 localnet:port

Caddy reverse proxy to /dir/ to localnet:port

我从 docker 集线器上的官方回购中获得了 Caddy,并在几个子域上 运行 自动 https。到目前为止,一切都很好。

sub1.domain.com {
    respond "Test"
}

https://sub1.domain.com:3333 {
    reverse_proxy 192.168.7.6:3000
}


https://sub1.domain.com:4444 {
    reverse_proxy 192.168.7.6:4000
}

sub2.domain.com {
    respond "Test"
}

有两点不明白。

1) 我宁愿让代理在转发到端口的子目录上工作,但这失败了,因为目录似乎在代理时也得到了维护。示例:

https://sub1.domain.com:4444 {
    reverse_proxy /dir/ 192.168.7.6:4000
}

所以最终我在 192.168.7.6:4000/dir/ 而不是只有 192.168.7.6:4000

2) 当我调用 sub2.domain.com 并结合 sub1 的端口时,它显示一个空白页面(源也为空)。例如 sub2.domain.com:4444。我宁愿期待超时或错误页面?

非常感谢您提前提示和建议!

匹配请求不会重写它们。因此,匹配 /dir/ 不会更改请求的 URI。这只是一个过滤器。

要去除路径前缀,您可以这样做:

uri strip_prefix /dir

由于这种情况很常见,因此有一些工作可以使它在未来变得更容易:https://github.com/caddyserver/caddy/pull/3281

如需更多帮助,请随时在我们的论坛上提问,那里的观众更适合 Caddy 用户:https://caddy.community