我已将二进制文件上传到 DO 托管。这是一个 golang 项目,我可以在管理区域中创建抽认卡。该卡片包含标题和图像。仅图像的路径保存在数据库中。然而,服务器上的二进制文件不能预先包含这些图像,它们是根据需要添加的。因此,我注意到在保存卡片时,图片被保存在这个二进制文件旁边的某个目录中:
x@x-production:~$ ls
assets migrations web
web-项目文件; 资产 - 包含卡片图片的目录; 例如,在资产中,目录封面图像的路径如下所示:
x@x-production:~/assets/static/img/catalog/2$ ls
1708864387803037959.webp
这张图是真实存在的。
问题是,如何将其路径转移到站点?因为
x.ru/static/img/catalog/*/*.webp
或
x.ru/static/img/catalog/*/*.webp
不起作用。也许是因为二进制文件直接在其静态中查找这些路径? 我真的必须连接 Spaces 对象存储吗? 我使用 Caddy 作为代理:
x.ru {
reverse_proxy localhost:4000
}
我还不太明白它,但这也不是它的工作原理(在这里我想至少清楚地了解图片的底部):
x.ru {
reverse_proxy localhost:4000
root * /assets
file_server
route /static/img/catalog/2/1708864387803037959.webp {
root * /assets/static/img/catalog/2
file_server
}
}
阅读文档后,我意识到有一个“路由”函数可以显式定位查询执行。在此之前,我的代理拦截了所有请求
x.ru {
route {
encode gzip
file_server /static/* browse {
root /home/stm/assets
}
reverse_proxy * localhost:4000
}
}