乐趣区

反向代理华为云OBS实现自定义域名访问

前言

  • 之前上了一波华为云的车,买了一台小鸡,然后又买了华为云的 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
退出移动版