业务场景:公司开发小程序,使用了OSS资源来存储一些资源,但是考虑到访问量大,每天的外网流出流量太大了,领导让我处理,通过nginx 转到内网,内网访问不需要收费的,简单记录一下操作步骤。
前提
- 准备一台阿里云服务,自己手上也有一台阿里云学生机(小水管)
- 阿里OSS
- 一个域名(备案)
一、基本配置
关于oss的使用收费需要说一下:
对象存储OSS服务的基础计费项包括:存储容量,流量,请求次数。此外,OSS还提供存储数据处理服务(如图片处理服务等),会根据您的使用情况单独计量计费,不使用不计费。
1、创建bucket
注意: 创建的bucket区域必须和阿里云服务器的区域相同,只有相同的区域内网才能打通
OSS
ESC
2、配置一个二级域名
主机记录可以随便起,我因为好辨认起了oss。这个域名只是为了方便外网访问时nginx转发时使用的,所以不需要将域名绑定oss,所以此时这个域名啥用没用,绑定了nignx转发才能用域名访问文件
二、Nginx 转发配置
打开bucket 在 概览中可以看到,第一个是外网访问的节点,第二是是内网访问的,记下第二个,在下面配置中要用到
使用Https:
1 | server { |
使用http:
1 | server { |
- Nginx的基本操作,请参考本篇博客:CentOS 7 安装 Nginx
三、使用宝塔快速配置
1、添加站点
2、配置文件
1 | # 填写自己转发的oss内网地址 |
3、配置SSL证书
- 可以区阿里云自己获取免费的SSL证书,一年有效期
- 获取地址:SSL证书获取
以前访问文件用的是外网point,如:https://xxx.oss-cn-shenzhen.aliyuncs.com/files/xxx.jpg
现在变成使用你自己的域名就可以:https://oss.xxx.com/files/xxx.jpg
nginx接收到这个域名后会自动转发内网请求文件并返回,走了内网流量