前言
- 之前上了一波华为云的车,买了一台小鸡,然后又买了华为云的 OBS 服务(对象存储),这里主要记录的是如何反向代理配置,对象存储的内容暂不介绍
为什么?
- 对象存储建立之后是有一个默认的域名的,但是通过默认的域名会产生流量,一般的云服务厂商都会有同地区的内网访问免流的策略,所以这里我们可以在中间搭建一个桥梁,借助我们的
ECS
间接访问我们的对象存储服务
如何做?
- 首先,打开华为云对象存储控制台 -> 对象 -> 点击上传对象(对象即是我们要操作的文件),上传成功后如图.
- 打开对象存储控制台 -> 概览 -> 复制访问域名
-
测试对象存储能够正常访问,打开浏览器新页签,将域名复制进去,后面跟上文件
实例 osdoc-dev.obs.cn-north-4..com/logo.png
- 打开 web 服务器配置文件,这里我使用的是
nginx
,按照如下配置:
server
{
listen 443 ssl;
server_name static.osdoc.cn;
index index.php index.html index.htm default.php default.htm default.html;
root /www;
#SSL-START SSL 相关配置,请勿删除或修改下一行带注释的 404 规则
#HTTP_TO_HTTPS_START
if ($server_port !~ 443){rewrite ^(/.*)$ https://$host$1 permanent;
}
#HTTP_TO_HTTPS_END
ssl_certificate /www/cert/fullchain.pem;
ssl_certificate_key /www/cert/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
#SSL-END
location /{
proxy_pass http://osdoc-dev.obs.cn-north-4.*******.com; #在这里设置一个代理,将对象存储访问域名设置在这
add_header Cache-Control no-cache;
add_header Pragma no-cache;
add_header Expires 0;
}
access_log /www/logs/static.osdoc.cn.log;
error_log /www/logs/static.osdoc.cn.error.log;
}
-
重启 web 容器,使用我们自定义的域名进行访问
实例 https://static.osdoc.cn/logo.png
- 到此我们的配置就完成了,其实会
nginx
的都会配置,就是一个简单的反向代理
缺点与总结
- 缺点: 反向代理走到底还是通过我们服务器的带宽流入流出,所以会占用我们服务器的带宽,如果不是为了省这一点点流量费,谁也不想这么搞
- 总结: 在配置的过程中,遇到一些坑,比如我们的服务器要与对象存储在一个区域,不然内网是不通的
- 文章首发于 https://www.ahwgs.cn/proxy-huaweiyu-obs.html