如何用对象存储免费做服务器的挂载磁盘

文章的对象存储和服务器是阿里云
还有就是免费指的是免外网流量费,创建容器的费用是需要付的,40GB一个月租赁只需1块钱,也相当于免费了!

容器租赁

一.建立容器
链接:https://oss.console.aliyun.com/overview
注意:容器建立时选择的地域务必应和服务器地域一致,否则会导致下面操作不成功
容器建立时选择的地域应和服务器地域一致
创建完成后可以看到自己创建的容器
容器

二.实现原理
点击 概览
看到 访问域名 一栏
访问域名一栏
经典网络下的 ECS 与 OSS 之间的内网访问地址,内网产生的流入流出流量均免费,这句话的意思是你服务器要是阿里云且在同一地域,则你服务器访问对象存储的流量是完全免费的。

三.基础设置
基础设置
1.将容器的读写权限设置为 公共读
权限设置
2.防盗链设置
如果我们不填写防盗链的话,别人访问你容器里面的文件你也是需要付外网流量费的。
下滑找到 防盗链
防盗链
在里面输入

*.console.aliyun.com  //这个域名是为了让你在阿里云容器里面预览
*.你的域名  //如果你的服务器是https的,则需要填写https://你的域名

四.设置代理
工作原理
工作原理
1.使用root用户登录ECS实例,安装Nginx:

root@test:~# yum install -y nginx

说明 Nginx默认安装位置:

 /usr/sbin/nginx       主程序 
 /etc/nginx            存放配置文件 
 /usr/share/nginx      存放静态文件 
 /var/log/nginx        存放日志

2.打开Nginx配置文件:

root@test:~# vi /etc/nginx/nginx.conf

3.在config文件中的http模块中,修改配置如下:

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name 47.**.**.43; #对外提供反向代理服务的IP,即ECS实例的外网地址;
root /usr/share/nginx/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
proxy_pass https://bucketname.oss-cn-beijing-internal.aliyuncs.com; #填写Bucket的内网访问域名,如果ECS实例与Bucket不在同一个地域,需填写外网域名;
}

说明 本文为演示环境,实际环境中,为了您的数据安全,建议配置https模块,配置方法可参考反向代理配置。

HTTPS反向代理设置

①.测试使用ECS外网地址加文件访问路径访问OSS资源

server {
listen 443 ; #default_server;
server_name  oss.a.com;
location / {
root /alidata/www/ www-a-com/;
//如果主机与bucket不在同一个地域,需使用外网
proxy_pass http://aialiyun.oss-cn-hangzhou-internal.aliyuncs.com/;
proxy_set_header   Referer http://www.test.com;
}
}

②.将域名oss.a.com解析到该服务器的IP上
③.测试能访问Object成功后,用户可以在该服务器上为该域名添加SSL证书

--------------------

4.进入Nginx主程序文件夹,启动Nginx:

root@test:~# cd /usr/sbin/
root@test:~# ./nginx

5.测试使用ECS外网地址或域名加文件访问路径访问OSS资源
域名访问

PS:如果设置后无法实现访问的,你可以在你服务器上ping一下你容器内网域名,看是否可以访问

最后修改:2019 年 08 月 10 日 04 : 14 PM
如果觉得我的文章对你有帮助,可以给我来杯卡布其诺

发表评论