• Post category:Настройки
  • Запись изменена:09.02.2024

1. Создайте пользователя с доступом на чтение и запись в хранилище, которое также необходимо создать

Создайте на площадке пользователя и бакет.

Дайте права пользователю на бакет.

2. Настройка политики CORS для хранилища.

2.1. Пример ниже для настройки через веб VK Cloud

Основные

Настройка S3 на Сервере Документов

Где,

  • AllowedOrigins — https://kh-ds.uatr7.ru — это url Вашего Документ сервера или Reverse proxy, через который он доступен
  • AllowedMethods — GET, HEAD — методы, которые разрешены

Остальное не редактируйте на этой вкладке.

Заголовки:

Настройка S3 на Сервере Документов

На этой вкладке отредактируйте только

  • AllowedHeaders, где вводим значение *

2.2. Пример для настройки через AWS CLI

2.2.1. Установите aws cli любым доступным Вам способом

Можете обратится к официальной документации.

2.2.2. Настройке доступ к провайдеру

aws configure

Будут запрошены:

aws_access_key_id
aws_secret_access_key
region

2.2.3. Создайте файл cors.json

Добавьте в него следующее содержимое:

{
    "CORSRules":[
    {
        "AllowedHeaders": ["*"],
        "AllowedMethods": ["GET","HEAD"],
        "AllowedOrigins": ["https://documentserver_adress"],
        "ExposeHeaders": []
    }
    ]
}

Где,

  • documentserver_address — адрес вашего сервера документов.

2.2.4. Выполните команду для настройки CORS через s3api

Пример для VK Cloud площадки:

aws s3api put-bucket-cors --bucket documentserver --endpoint-url=https://hb.ru-msk.vkcs.cloud --cors-configuration file://cors.json

2.2.5. Проверьте применения политик

aws s3api get-bucket-cors --bucket documentserver --endpoint-url=https://hb.ru-msk.vkcs.cloud

Вывод:

Настройка S3 на Сервере Документов

3. Откройте на редактирование файл local.json

/etc/r7-office/documentserver/local.json

3.1. Отредактируйте блок «storage»

Пример настройки для объектного хранилища VK в Москве

...
  "storage": {
        "name": "storage-s3",
        "fs": {
                "folderPath": "",
                "urlExpires": 900,
                "secretString": "***"
        },
        "region": "ru-msk",
        "endpoint": "hb.ru-msk.vkcs.cloud",
        "bucketName": "documentserver",
        "storageFolderName": "data_cl",
        "cacheFolderName": "cache_cl",
        "urlExpires": 604800,
        "accessKeyId": "****",
        "secretAccessKey": "***",
        "sslEnabled": true,
        "s3ForcePathStyle": true,
        "externalHost": ""
  }
}

Где,

  • secretString — секрет, который используется для подписи URL, его также нужно изменить в конфигурационном файле /etc/nginx/conf.d/ds.conf в параметре $secure_link_secret;
  • name — обязательно указать storage-s3;
  • region — регион, в котором находится ваш bucket;
  • bucketName — уникальное имя хранилища S3;
  • storageFolderName — имя каталога хранилища документов S3, в которой хранятся все файлы;
  • cacheFolderName — имя папки кэша для работы в многопользовательском режиме;
  • accessKeyId — идентификатор ключа для доступа к хранилищу документов S3;
  • secretAccessKey — секретный ключ для доступа к хранилищу документов S3;
  • sslEnabled — включен или нет SSL для хранилища документов S3;
  • s3ForcePathStyle — всегда ли при запросах к хранилищу документов S3 используется адресация в стиле path;
  • externalHost — внешний хост, который используется вместо хоста, указанного в запросе.

3.2. Перезапустите сервисы DS

systemctl restart ds-*

3.3. Проверьте редактирование документов

В бакете должны создаваться каталоги с временными файлами, при редактировании и сохранении документа