Все знают, что в битриксе можно подключить облачные хранилища. Все знают как это круто, а делается совсем просто . И вот я тоже захотел перенести pdf`ки в клодо. Создаю аккаунт на Clodo, создаю там хранилище, в битриксе подключаю это хранилище, всё работает, всё гуд. Ссылки на файлы имеют вид: http://cs1.clodo.ru/v1/CLODO_[хеш...y/[ещё какая то хеш строка]/[имя-файла].pdf Этот урл состоит из частей: http://cs1.clodo.ru/v1/CLODO_[хеш...а] - урл до "облачного хранилища" на аккаунте Clodo. Там на одном аккаунте можно создать несколько хранилищ (дисков), т.о. у каждого будет свой урл. /upload-[хеш-строка-папки]/ - это "корневая папка" внутри хранилища (в терминологии Clodo - "контейнер";). Файлы в корень диска там кидать нельзя. Все файлый должны быть в контейнерах. Имя данной папки генерит сам БУС при подключении нового хранилища. medialibrary/[ещё какая то хеш строка]/[имя-файла].pdf - собственно путь до самого файла. Ясно дело, что хочется, чтобы были красивые ссылки на поддомене, что вроде storage.domain.ru/[путь до файла].pdf. Вроде всё просто: создаём поддомен, прописываем CName. Однако тут вылезает ряд нюансов. Первое. При указании CNAME в адмнике Clodo:
Происходит не замена http:// storage.domain.ru на http://cs1.clodo.ru (как кажется на первый взгляд), а замена http:// storage.domain.ru на http://cs1.clodo.ru/v1/CLODO_[хеш...нилища] (т.е. на урл хранилища). Т.о. файлы будут доступны а ссылкам: http://storage.domain.ru/upload-[...y/[ещё какая то хеш строка]/[имя-файла].pdf Второе. БУС почему-то, при указанном CNAME не подставляет имя контейнера (upload-[хеш-строка-папки] ), т.е. гинерит ссылки вида: http://storage.domain.ru/medialibrary/[ещё какая то хеш строка]/[имя-файла].pdf В результате, при переходе по такой ссылке получаешь 403 ошибку . Это для меня было совсем не понятно. Писал в ПТ. Какое общение бывает с ТП все прекрасно знают Наконец, пришёл ответ:
Как работает облачное хранилище Clodo с CNAME:
- Сначала прописывается сам CNAME. Например:
storage.domain.ru . IN CNAME cs1.clodo.ru.
- Далее домен привязывается в панели управления. Там же нажимаем "проверить" для завершения привязки.
Файлы хранятся не в самом бакете, а в контейнере внутри бакета. При этом файл нельзя положить в корень бакета (хранилища), только внутрь контейнера.
Но при этом в хранилище по умолчанию создаются два специальных контейнера - public и private. public по умолчанию доступен по HTTP и он устроен специальным служебным образом: к файлам внутри этого контейнера (вида http://storage.domain.ru/public/file.ext) можно обращаться без указания в явном виде названия контейнера: http://storage.domain.ru/file.ext.
При желании эту настройку можно отключить.
То есть, если требуется настройка хранилища Clodo в Битриксе, и необходима работа с собственным поддоменом, необходимо в панели администрирования Битрикса в настройках при создании хранилища указать:
- "Каноническое имя домена (CNAME)" - тот домен, который ассоциирован с cs1.clodo.ru; - "Контейнер" - public.
Вот... оказывается БУС пользуется вот этой настроечкой:
Что из этого следует? Когда вы создаёте новое хранилище надо не на волю БУС`а оставлять имя папки, а вбивать /public:
После этого получаются нормальные, работающие ссылки... Правда, если у вас уже до этого был контейнер upload-[хеш-строка], с закаченными туда файлами, то вам придётся из него вернуть файлы в БУС, а потом выгрузить в новый контейнер public. Лично у меня возврат файлов получился. А вот выгрузка в новый - нет Опять общаюсь с ТП
Вот так я ждал исправления бага с ресайзом вертикальных изображений Отписались что передано в отдел разработок 10 месяцев назад, но баг до сих пор висит в БУСе. но в моем случае можно хоть функцию переписать...
Недавно всплыла ещё одна проблема: невозможно подключить 2 public'а. Такая ситуация вполне может быть при желании хранить видео в Video Storage, а файлы - в File Storage у Clodo.ru. Разработчики приняли это к сведению и пообещали исправить. Ждём-с...
Да и с Selectel'ом они не дружат, т.к. API Selectel'а работает по https, а в Битриксе в коде зашит протокол http, 80-й порт и собственный путь авторизации.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».