如何在 Caddy 中将 /api/a/b/c 重写为 d.com/a/b/c

How to rewrite /api/a/b/c to d.com/a/b/c in Caddy

在 Caddy 中,我想让所有传入的 /api/* 重定向到 d.com/*。

例如/api/a/b/cd.com/a/b/c

如何在球童中实现这一点?

使用反向代理。假设您正在侦听所有主机的端口 80,您的 Caddyfile 最终会像这样。

:80 {
  rewrite / {
    if {path} has api
    r /api/(.*)
    to /{1}
  }

  proxy / https://d.com/ {
    transparent
  }
}

另一种方式是:

:80 {
  rewrite /api {
    r (.*)
    to /{1}
  }

  proxy / https://d.com/ {
    transparent
  }
}