Cloudreve使用内网连接阿里云OSS

前言

之前安装Cloudreve时,直接将OSS的外网endpoint作为上传策略,导致额外的流量费用。后来我在Cloudreve的仪表盘中更改为内网endpoint,结果就是上传文件出现http错误。上论坛发现原来根本就是不支持内网上传的。
所以我选择将OSS挂载到一个文件夹,在Cloudreve中选择该文件夹作为本地存储策略。

环境

CentOS 8
Cloudreve需部署于阿里云服务器,否则无法内网连接

一、安装ossfs

1.下载安装包

wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm

2.安装

sudo yum localinstall ossfs_1.80.6_centos7.0_x86_64.rpm

3.配置账号信息

echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs

my-bucket为你在阿里云OSS控制台中创建的bucket名称,后面两项为可以访问OSS的AccessKey账号密码

二、挂载OSS

在你的Cloudreve工作目录中创建一个用于挂载的文件夹

mkdir oss(名称随意)

将Bucket挂载到指定目录

ossfs my-bucket my-mount-point -ourl=my-oss-endpoint

my-mount-point为刚刚创建的挂载文件夹
my-oss-endpoint选择OSS的内网endpoint

查看是否挂载成功

df -h

三、设置自动开启

vim /etc/init.d/ossfs

写入以下内容,my_XXX改为自己的信息

#! /bin/bash
#
# ossfs      Automount Aliyun OSS Bucket in the specified direcotry.
#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.

ossfs my_bucket my_mount_point -ourl=my_url -oallow_other

保存后

chmod a+x /etc/init.d/ossfs
chkconfig ossfs on

四、Cloudreve设置上传策略

选择本机存储,存储目录改为创建的用于挂载的文件夹即可

遇到的问题

错误提示是libcrypto.so.10缺失

解决方法

dnf install compat-openssl10

查看是否解决

ldd /usr/local/bin/ossfs

参考资料

快速安装_ossfs_常用工具_对象存储 OSS - 阿里云
阿里云ECS服务器扩容,挂载OSS对象存储到ECS实例上作为网络共享磁盘使用
centOS缺少libcrypto.so.10文件
解决 OSSFS 安装错误 ossfs: /lib64/libcrypto.so.10: version `libcrypto.so.10’ not found (required by ossfs)


查看本文的最新版本请访问
https://nuture.group/archives/cloudreve%E4%BD%BF%E7%94%A8%E5%86%85%E7%BD%91%E8%BF%9E%E6%8E%A5%E9%98%BF%E9%87%8C%E4%BA%91oss

posted @ 2020-11-28 20:11  酒桶在你野区  阅读(206)  评论(0编辑  收藏  举报