将 Amazon S3 存储桶连接为 ONLYOFFICE 文档的缓存
按照以下步骤将 Amazon S3 存储桶连接为 ONLYOFFICE 文档的缓存。
-
登录 AWS 管理控制台并打开 Amazon S3 控制台。点击创建存储桶按钮。指定一个唯一的存储桶名称并保存存储桶。
-
我们建议今后创建一个新的 IAM 用户。
-
点击右上角的用户名,然后转到安全凭证。展开访问密钥(访问密钥 ID 和秘密访问密钥)部分。点击创建访问密钥按钮。在打开的表格中,复制访问密钥字段中的密钥。点击显示按钮以显示秘密访问密钥并复制它。或者,点击右下角的下载 .csv 文件按钮,将密钥保存到您的硬盘上。

然后,进入访问管理部分并允许访问存储桶。点击策略,然后点击创建策略按钮。切换到 JSON 选项卡并添加以下代码:
{"Version": "2012-10-17","Statement": [{"Sid": "Stmt1492520443000","Effect": "Allow","Action": ["s3:ListAllMyBuckets"],"Resource": ["arn:aws:s3:::*"]},{"Sid": "Stmt1492520492000","Effect": "Allow","Action": ["s3:GetBucketLocation","s3:ListBucket","s3:ListBucketMultipartUploads"],"Resource": "arn:aws:s3:::my-s3-bucketname"},{"Sid": "Stmt1492521245000","Effect": "Allow","Action": ["s3:AbortMultipartUpload","s3:GetObject","s3:ListBucket","s3:ListMultipartUploadParts","s3:PutObject","s3:PutObjectAcl"],"Resource": "arn:aws:s3:::my-s3-bucketname/*"}]}将
my-s3-bucketname替换为您的实际存储桶名称。然后完成其余步骤以保存新策略。 -
在 Amazon S3 控制台中,点击您的存储桶名称。选择权限。在跨域资源共享 (CORS) 部分,点击编辑并添加以下代码:
[{"AllowedHeaders": ["*"],"AllowedMethods": ["GET","HEAD"],"AllowedOrigins": ["https://documentserver_address"],"ExposeHeaders": []}]将
https://documentserver_address替换为您的实际 ONLYOFFICE 文档地址。保存设置。 -
打开 ONLYOFFICE 文档配置文件:
/etc/onlyoffice/documentserver/default.json备注如果您在
default.json文件中更改参数,所有更改将在 ONLYOFFICE 文档更新或 Docker 容器重启后丢失。为了确保您的更改在更新后仍然有效,请编辑/etc/onlyoffice/documentserver/local.json文件。添加连接到存储桶的设置:
"storage": {"name": "storage-s3","region": "us-east-1","endpoint": "https://s3.us-east-1.amazonaws.com/","bucketName": "my-s3-bucketname","storageFolderName": "files","urlExpires": 604800,"accessKeyId": "***","secretAccessKey": "***","sslEnabled": true,"s3ForcePathStyle": false,"externalHost": "","useDirectStorageUrls": false},指定您的实际存储桶名称、访问密钥 ID 和秘密访问密钥。保存更改。
-
重启 ONLYOFFICE 文档服务:
DEB/RPM:
systemctl restart ds-converter ds-docserviceDocker:
sudo docker exec <CONTAINER_ID> supervisorctl restart ds:converter ds:docserviceWindows PowerShell:
Restart-Service DsConverterSvc, DsDocServiceSvc