Istio: маршруту /media/ нужен rewrite, иначе ключ уезжает с префиксом

s3-proxy не срезает префикс сам — он отображает путь URL прямо в ключ
объекта. Маршрут отдавал ему путь как есть, поэтому он искал
media/orthophotos/..., тогда как в бакете лежит orthophotos/..., и отвечал
NoSuchKey (404).

Проверено на существующем объекте через сам s3-proxy:
  /orthophotos/NTG230721_DEM/14/10920/4937.png       -> 200, 17831 байт
  /media/orthophotos/NTG230721_DEM/14/10920/4937.png -> 404 NoSuchKey

В корне бакета лежат geotiff_dems/, las_pointclouds/, orthophotos/,
pointclouds/ — префикса media/ нет вовсе.
This commit is contained in:
emelinda 2026-08-10 01:44:53 +03:00
parent 1f336b6f93
commit 2474d82cea

View File

@ -107,8 +107,17 @@ spec:
# Range-запросы, которых у S3 API «как есть» нет. Backend
# формирует ссылки вида /media/<key>, поэтому маршрут должен
# идти ПЕРЕД правилом для /.
#
# rewrite ОБЯЗАТЕЛЕН. s3-proxy не срезает префикс сам — он
# отображает путь URL прямо в ключ объекта. Без rewrite он
# искал бы media/orthophotos/... , тогда как в бакете лежит
# orthophotos/... , и отвечал бы
# NoSuchKey: The specified key does not exist (404)
# Проверено на живом объекте: /orthophotos/... отдаёт 200,
# /media/orthophotos/... — 404.
- path:
prefix: /media/
rewrite: /
service: s3-proxy-svc.django.svc.cluster.local
port: 80
# API микрофронтенда workflows. Висит на домене платформы, а