Halo使用华为云对象存储服务(OBS)替代服务器本地存储
前言
之前使用的服务器本地存储,用了半年左右发现,存储量较大,而且访问速度也很慢,就考虑使用OBS存储方式,由于我使用的是华为云服务器,所以这里也选用华为的OBS,其实和阿里云差不了多少,下面让我们开始配置吧:
配置需要的参数如下:
绑定域名:(可以不配置)
Bucket(桶名):
Access Key:
Access Secret:
文件目录:(可以不配置,使用根目录即可)
图片处理策略:(可以不配置)
缩略图处理策略:
EndPoint:
下面开始配置
购买OBS
前往华为云官网购买OBS存储服务,费用不高,40GB/9元/年
,其实和阿里OSS差不多,自己根据需要选择吧
购买完成后,创建一个桶名
,这里桶名
不能其它人重名
注意这里的桶权限修改为
公共读
,防止链接方式不能访问图片
获取key及secret
- 登录华为云控制台,找到对象存储服务OBS,并进入对应服务,即可看到如图所示
- 获取key及secret
一共可以创建两个访问秘钥,我之前创建过,所以直接使用,如果之前没有创建过,那么自己创建一个即可
获取EndPoint
进入具体的桶,点击总览,获取EndPoint
参数
验证
至此参数都已经获取到了,打开halo后台,将对应参数配置好,上传附件验证
发现我们图片已经上传到华为云OBS上了,然后在halo
前端网页看看,是否能正常访问
华为云OBS其它策略
华为云提供了一部分策略,我们可以使用,由于服务器上我配置nginx防盗链,所以桶策略这里我就不配置了(说白了懒,每次登录控制台我都觉得麻烦,能不上控制台就不上),在这里我配置了静态网站托管
,这东西还蛮好用的,把你对应html项目
传到桶里,然后配置具体页面,比如:首页(index.html),404页面之类的,还是蛮不错的,当然用nginx
也可以实现
- 下面提供一下我服务nginx配置吧,供大家参考
server {
listen 443 ssl;
server_name domian; #用户服务器的域名
client_max_body_size 1024m;
ssl_certificate /usr/sbin/cert/scs1661344500833_blog.lovelu.top_server.crt;
ssl_certificate_key /usr/sbin/cert/scs1661344500833_blog.lovelu.top_server.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
error_page 502 503 404 default.html;
location = /default.html {
root /usr/share/nginx;
}
location /upload/ {
#域名白名单,去掉阻止所有非本站请求
valid_referers none blocked server_names *.lovelu.top servicewechat.com gitee.com *.baidu.com *.51.la;
set $flag 1;
if ($invalid_referer) {
set $flag 0;
}
# 正则表达式匹配
if ($request_uri ~* "(/logo.png)|(/fangdaolian.png)") {
set $flag 1;
}
if ($flag = 0) {
rewrite ^/ https://domian/upload/2022/07/fangdaolian.png;
}
access_log off;
proxy_pass http://127.0.0.1:8090;
}
location / {
proxy_pass http://haloMaste;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
我的防盗链也是在nginx
中配置的,当然也可以OBS
中配置,看个人吧
此处建议大家还是使用
对象存储
,为什么呢?因为halo
小程序,这里指的是官方付费的版本,里面引用的图片,直接使用![]()
,也就是md
方式,小程序是找不到,当然也可以自行修改源码,如果使用对象存储
,就不存在这个问题了
防盗链也可以看我另一篇博文防盗链配置
空空如也!