Все знают, что в битриксе можно подключить облачные хранилища. Все знают как это круто, а делается совсем просто
.
И вот я тоже захотел перенести pdf`ки в клодо. Создаю аккаунт на Clodo, создаю там хранилище, в битриксе подключаю это хранилище, всё работает, всё гуд.
Ссылки на файлы имеют вид: какая то хеш строка]/[имя-файла].pdf
Этот урл состоит из частей:
- урл до "облачного хранилища" на аккаунте Clodo. Там на одном аккаунте можно создать несколько хранилищ (дисков), т.о. у каждого будет свой урл.
/upload-[хеш-строка-папки]/ - это "корневая папка" внутри хранилища (в терминологии Clodo - "контейнер";). Файлы в корень диска там кидать нельзя. Все файлый должны быть в контейнерах. Имя данной папки генерит сам БУС при подключении нового хранилища.
medialibrary/[ещё какая то хеш строка]/[имя-файла].pdf - собственно путь до самого файла.
Ясно дело, что хочется, чтобы были красивые ссылки на поддомене, что вроде storage.domain.ru/[путь до файла].pdf. Вроде всё просто: создаём поддомен, прописываем CName.
Однако тут вылезает ряд нюансов.
Первое. При указании CNAME в адмнике Clodo:

Происходит не замена http:// storage.domain.ru на (как кажется на первый взгляд), а замена http:// storage.domain.ru на ; (т.е. на урл хранилища).
Т.о. файлы будут доступны а ссылкам: какая то хеш строка]/[имя-файла].pdf
Второе. БУС почему-то, при указанном CNAME не подставляет имя контейнера (upload-[хеш-строка-папки] ), т.е. гинерит ссылки вида: какая то хеш строка]/[имя-файла].pdf
В результате, при переходе по такой ссылке получаешь 403 ошибку

.
Это для меня было совсем не понятно. Писал в ПТ. Какое общение бывает с ТП все прекрасно знают
Наконец, пришёл ответ:
Вот... оказывается БУС пользуется вот этой настроечкой:

Что из этого следует? Когда вы создаёте новое хранилище надо не на волю БУС`а оставлять имя папки, а вбивать /public:

После этого получаются нормальные, работающие ссылки...
Правда, если у вас уже до этого был контейнер upload-[хеш-строка], с закаченными туда файлами, то вам придётся из него вернуть файлы в БУС, а потом выгрузить в новый контейнер public.
Лично у меня возврат файлов получился. А вот выгрузка в новый - нет
Опять общаюсь с ТП 
.И вот я тоже захотел перенести pdf`ки в клодо. Создаю аккаунт на Clodo, создаю там хранилище, в битриксе подключаю это хранилище, всё работает, всё гуд.
Ссылки на файлы имеют вид: какая то хеш строка]/[имя-файла].pdf
Этот урл состоит из частей:
- урл до "облачного хранилища" на аккаунте Clodo. Там на одном аккаунте можно создать несколько хранилищ (дисков), т.о. у каждого будет свой урл.
/upload-[хеш-строка-папки]/ - это "корневая папка" внутри хранилища (в терминологии Clodo - "контейнер";). Файлы в корень диска там кидать нельзя. Все файлый должны быть в контейнерах. Имя данной папки генерит сам БУС при подключении нового хранилища.
medialibrary/[ещё какая то хеш строка]/[имя-файла].pdf - собственно путь до самого файла.
Ясно дело, что хочется, чтобы были красивые ссылки на поддомене, что вроде storage.domain.ru/[путь до файла].pdf. Вроде всё просто: создаём поддомен, прописываем CName.
Однако тут вылезает ряд нюансов.
Первое. При указании CNAME в адмнике Clodo:

Происходит не замена http:// storage.domain.ru на (как кажется на первый взгляд), а замена http:// storage.domain.ru на ; (т.е. на урл хранилища).
Т.о. файлы будут доступны а ссылкам: какая то хеш строка]/[имя-файла].pdf
Второе. БУС почему-то, при указанном CNAME не подставляет имя контейнера (upload-[хеш-строка-папки] ), т.е. гинерит ссылки вида: какая то хеш строка]/[имя-файла].pdf
В результате, при переходе по такой ссылке получаешь 403 ошибку


.Это для меня было совсем не понятно. Писал в ПТ. Какое общение бывает с ТП все прекрасно знают

Наконец, пришёл ответ:
| Как работает облачное хранилище Clodo с CNAME: - Сначала прописывается сам CNAME. Например: storage.domain.ru . IN CNAME cs1.clodo.ru. - Далее домен привязывается в панели управления. Там же нажимаем "проверить" для завершения привязки. - После привязки домена можно обращаться по прежней ссылке . а можно по новой: Вот здесь основная сложность. Файлы хранятся не в самом бакете, а в контейнере внутри бакета. При этом файл нельзя положить в корень бакета (хранилища), только внутрь контейнера. Но при этом в хранилище по умолчанию создаются два специальных контейнера - public и private. public по умолчанию доступен по HTTP и он устроен специальным служебным образом: к файлам внутри этого контейнера (вида можно обращаться без указания в явном виде названия контейнера: . При желании эту настройку можно отключить. То есть, если требуется настройка хранилища Clodo в Битриксе, и необходима работа с собственным поддоменом, необходимо в панели администрирования Битрикса в настройках при создании хранилища указать: - "Каноническое имя домена (CNAME)" - тот домен, который ассоциирован с cs1.clodo.ru; - "Контейнер" - public. |
Вот... оказывается БУС пользуется вот этой настроечкой:

Что из этого следует? Когда вы создаёте новое хранилище надо не на волю БУС`а оставлять имя папки, а вбивать /public:

После этого получаются нормальные, работающие ссылки...
Правда, если у вас уже до этого был контейнер upload-[хеш-строка], с закаченными туда файлами, то вам придётся из него вернуть файлы в БУС, а потом выгрузить в новый контейнер public.
Лично у меня возврат файлов получился. А вот выгрузка в новый - нет
Опять общаюсь с ТП 