Как передать картинку с хостинга Digital Ocean на сайт? Golang
Я задеплоил двоичный файл на хостинг DO. Это проект на golang, в админке которого я могу создавать карточки. Карточка содержит заголовок и картинку. От картинки сохраняется в БД только путь до неё. Однако на сервере двоичный файл не может содержать заранее эти картинки, они добавляются по мере надобности. Поэтому я заметил, что при сохранении карточки, картинка сохраняется в определенной директории рядом с этим двоичным файлом:
x@x-production:~$ ls
assets migrations web
web - файл проекта; assets - директория с картинками карточки; Например, в assets путь до картинки обложки каталога выглядит так:
x@x-production:~/assets/static/img/catalog/2$ ls
1708864387803037959.webp
Эта картинка действительно существует. Вопрос в том, как передать путь до неё на сайт? Потому что
x.ru/static/img/catalog/*/*.webp
или
x.ru/static/img/catalog/*/*.webp
не работает. Может это потому, что двоичный файл ищет эти пути непосредственно в своей статике? Неужели придется подключать Spaces Object Storage? Для прокси я использую 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
}
}
Ответы (1 шт):
Почитав документацию я понял, что есть функция "route" которая явно позиционирует выполнение запросов. До этого мой прокси перехватывал все запросы
x.ru {
route {
encode gzip
file_server /static/* browse {
root /home/stm/assets
}
reverse_proxy * localhost:4000
}
}