#spring #amazon-s3 #spring-cloud #spring-cloud-config
Вопрос:
Мы пытаемся перенести наш сервер конфигурации Spring Cloud с серверной части Git на S3. Это нормально работает для обычных конфигурационных файлов yaml, но мы также используем его для обслуживания обычных текстовых файлов, и у нас возникают проблемы с его работой.
В соответствии с этим вопросом https://github.com/spring-cloud/spring-cloud-config/issues/1506 и документация здесь https://cloud.spring.io/spring-cloud-static/spring-cloud-config/2.2.3.RELEASE/reference/html/#spring-cloud-config-serving-plain-text-aws-s3 это должно сработать, но в документации описан формат URL-адреса для серверной части Git, но не для серверной части S3.
Ранее мы использовали:
https://config-host/a/b/master/myfile.txt
И это сработало. Какой формат мы должны использовать для S3?
Я пытался
https://config-host/test/b/c/myfile.txt
и заметил это в журналах:
2021-07-30 17:46:35.787 WARN 1 --- [ XNIO-1 task-3] o.s.c.config.server.support.PathUtils : Resource path "https://s3.us-west-2.amazonaws.com/my-bucket/test" was successfully resolved but resource "https://s3.us-west-2.amazonaws.com/my-bucket/test/myfile.txt" is neither under the current location "https://s3.us-west-2.amazonaws.com/my-bucket/test" nor under any of the allowed locations [Amazon s3 resource [bucket='my-bucket' and object='test']]
(после того, как положил myfile.txt в тестовой папке в моем ведре)
Может быть, здесь есть проблема с кодировкой — т. е. test/myfile.txt
?
Мы используем spring-cloud 2020.0.3 и spring-cloud-aws 2.3.0
Комментарии:
1. это правило предотвращает обход каталогов репозиториями на основе файловых систем. Если возникла проблема, скорее всего, это ошибка
2. Поднял вопрос github.com/spring-cloud/spring-cloud-config/issues/1939