reactjs - 使用代理重写 Caddy
问题描述
我正在尝试使用 Caddy 托管一个 react 应用程序,其中一些端点重定向到其他 docker 容器,其余的重写到基本 url(也就是 react 应用程序的 index.html 文件)。
但是代理不会转发到其他容器,它只是显示反应应用程序。
如何让它显示 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
}
}
解决方案
我认为这可能是指令订购问题,或者缺乏订购。例如,如果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
}
}
推荐阅读
- python - Keras ImageDataGenerator:如何使用图像路径进行数据增强
- python-3.x - 如何用reduce计算单词中出现的num字母?
- python - 帮助文本中的 Python argparse 参数顺序
- javascript - 从包含 Javascript 的调制解调器网页中提取数据以在 Rainmeter 中使用的更好方法
- python - 使用 try 和 catch 的最 Pythonic 方式
- node.js - Docker如何将文件从容器复制到主机?
- javascript - Javascript 在知道字符串是什么时返回“未定义”
- c++ - main() 的 SDL 库未定义符号
- swiftui - 如何在 SwiftUI 中一键连续播放两种声音
- python - 我在 1 个文件夹中有多个 txt 文件,我需要使用 python 将 txt 数据插入 MySql 表