在数字化时代,数据存储与传输的效率直接影响着业务的运行。对象存储因其海量存储、高扩展性等优势被广泛应用。而巧用内网传输,能让对象存储如虎添翼,实现高速、低成本的数据交互。今天就为大家带来内网挂载服务器以及 Nginx 反向代理内网 OSS 的超详细教程,让数据传输更高效!
一、内网挂载服务器到对象存储
(一)为什么要内网挂载?
内网挂载能让服务器与对象存储直接 “对话”,数据传输走内网通道,相比公网,速度更快、更稳定,还能省下高额的公网流量费。尤其是对数据量庞大的企业,长期下来节省的成本相当可观。
(二)挂载前的准备
- 确保服务器与对象存储地域一致:不同地域间网络延迟高,会严重影响传输效率。比如,阿里云的成都地域服务器要搭配成都地域的OSS 存储。
- 获取对象存储的内网 Endpoint:以阿里云 OSS 为例,登录阿里云控制台,找到对应的 OSS Bucket,在 “基本信息” 中可查看内网 Endpoint,格式类似bucketname.oss-cn-region-internal.aliyuncs.com 。
(三)具体挂载步骤(以 Linux 服务器为例)
- 安装必要工具:执行命令sudo apt - get install fuse - ossfs 安装ossfs工具,它能将 OSS Bucket 挂载到 Linux 文件系统。
- 配置访问密钥:在阿里云控制台创建或获取 AccessKey ID 和 AccessKey Secret,这是服务器访问 OSS 的 “钥匙”。将密钥信息写入配置文件,假设文件名为/etc/passwd - ossfs ,格式为AccessKeyID:AccessKeySecret ,并设置文件权限为 600,即sudo chmod 600 /etc/passwd - ossfs 。
- 创建挂载点:选择一个目录作为挂载点,例如/mnt/oss ,使用命令sudo mkdir /mnt/oss 创建。
- 进行挂载:执行挂载命令ossfs bucketname /mnt/oss - ourl = http://oss-cn-region-internal.aliyuncs.com - onoexec ,其中bucketname是你的 Bucket 名称,oss-cn-region-internal.aliyuncs.com 替换为实际的内网 Endpoint 。挂载成功后,就可像访问本地文件夹一样操作对象存储里的文件了。
二、Nginx 反向代理内网 OSS 教程
(一)Nginx 反向代理的作用
Nginx 反向代理可以将对服务器特定端口的请求转发到内网 OSS,隐藏 OSS 的真实地址,增强安全性;同时,能解决部分场景下需固定 IP 访问 OSS 的需求,如企业防火墙白名单设置。
(二)部署 Nginx
- 安装 Nginx:在 Linux 服务器上,使用命令sudo apt - get install nginx (适用于 Ubuntu 等基于 Debian 的系统)或sudo yum install nginx (适用于 CentOS 等基于 Red Hat 的系统)安装 Nginx。
- 开放端口:Nginx 默认使用 80 端口,需在服务器安全组或防火墙中开放 TCP 80 端口,确保外部能访问 Nginx 服务。
(三)配置 Nginx 代理 OSS
- 打开 Nginx 配置文件:对于大多数系统,配置文件路径为/etc/nginx/nginx.conf ,使用命令sudo vi /etc/nginx/nginx.conf 打开。
- 修改配置:在http模块内添加如下配置(假设服务器公网 IP 为your_server_ip ,OSS Bucket 内网 Endpoint 为bucketname.oss-cn-region-internal.aliyuncs.com ):
server {
listen 80;
server_name your_server_ip;
location / {
proxy_pass http:*//bucketname.oss - cn - region - internal.aliyuncs.com;*
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X - Real - IP $remote_addr;
proxy_set_header X - Forwarded - For $proxy_add_x_forwarded_for;
proxy_set_header X - Forwarded - Proto $scheme;
}
}
这里server_name是服务器公网 IP,proxy_pass指定要代理的 OSS 内网 Endpoint 。其他proxy_set_header配置用于传递客户端真实信息。
- 保存并退出:按 “Esc” 键,输入:wq保存并退出编辑器。
- 测试配置:执行命令nginx - t测试 Nginx 配置是否正确,若提示 “configuration file /etc/nginx/nginx.conf test is successful” ,则配置无误。
- 重启 Nginx 服务:执行命令sudo systemctl restart nginx ,使配置生效。
现在,通过访问服务器公网 IP,就能访问到对应的 OSS Bucket 内容了,通过此方法的文件传输不会计算流量费用。