反向代理华为云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
本文采用 CC BY-NC-SA 3.0 Unported 协议进行许可
本文链接: https://www.ahwgs.cn/proxy-huaweiyu-obs.html