我正在尝试使用Caddy托管一个React应用程序,其中一些端点重定向到其他Docker容器,其余端点重写为基本URL(也就是React应用程序的index.html文件)。
但是代理不会转发到其他容器,它只是显示react应用。
如何使其显示api页面而不是react应用?
example.com {
gzip
root /app/frontend
proxy /staticfiles django:8000 {
transparent
}
proxy /api django:8000 {
transparent
}
proxy /admin django:8000 {
transparent
}
rewrite {
to .* /index.html
}
}
答案 0 :(得分:0)
我认为这可能是指令排序问题,或者是缺少排序。例如,如果rewrite
发生在proxy
之前,我不确定。您可以尝试将配置重写为使用球童站点地址首先匹配最长的事实。像这样:
example.com {
gzip
root /app/frontend
rewrite {
to .* /index.html
}
}
example.com/staticfiles example.com/api example.com/admin {
proxy / django:8000 {
transparent
}
}