技术宅教你如何舒适地白嫖七牛云储存和开启全站的Https

前言

国内免费又好用的图床,一个是七牛云和另一个是又拍云,土豪可绕路阿里云和腾讯云。当然,想白嫖,前提是你必须要有个备案的域名。

七牛云:注册认证后有10G永久免费空间,每月10G国内和10G国外流量,速度相当快,七牛云是国内专业CDN服务商,插件支持比较多,有免费ssl证书,但https流量收费;

又拍云:注册认证后有10G永久免费空间,每月15G的HTTP和HTTPS流量,提供两款可以免费续期的SSL证书,不过用户需要加入又拍云联盟(即在网站底部添加又拍云logo及官网链接)


站长有洁癖症的,同时又拍云认证比较麻烦,所以选用了七牛云。

七牛云只支持免费http流量,https流量要收费。作为技术宅,怎么可以忍受这些。于是乎,各种折腾后,写上本文记录成功经验。既白嫖七牛云储存,也能开启全站的Https!

首先,简单说明下Http与Https流量的明显区别,走http流量,浏览器提示不安全。走https流量,浏览量显示安全锁,见下图:


接着:来个站点演示下?

黑洞www.heidongwang.top

说明

本文将简要说明如何使用反向代理的方式配置七牛云的镜像存储为自定义的域名并使用https访问。阿里云OSS等也类似,大同小异。

反射代理使用nginx,其它的原理一样,可以自行参考配置。基于网站的带宽及其它原因,图片等一些静态资源文件都存放在七牛云上,以镜像存储方式提供访问。当然阿里云OSS也可以,但是OSS没有免费的额度,对小型网站来说七牛云的免费额度已足够使用。

教程

域名解析

这里我们需要三个域名,一般使用二级域名即可。

以本站配置为例,分别使用以下三个二级域名:

photo.heidongwang.top nginx映射的本地静态资源使用域名,也就是七牛镜像使用的镜像源域名,使用http即可。

image.heidongwang.top 七牛云存储空间绑定的自定义域名,使用http即可。

picture.heidongwang.top nginx映射的在浏览器中实际访问的静态资源域名,必须是https,故要先申请证书,证书后面步骤用到。

配置photo.heidongwang.top

photo.heidongwang.top的配置比较简单,只需要映射一个静态资源目录即可。
找到niginx配置文件,一般是"域名.conf",或在xshell用如下命令行查找:

find / -name heidongwang.top.conf

若是宝塔安装,网站->设置->配置文件,添加如下代码:

#静态资源配置,七牛镜像用
server
{
  listen 80;
  server_name photo.heidongwang.top;
  root  /www/wwwroot/image;#设定资源存放路径,改回自己路径
}

配置好,在服务器新建/www/wwwroot/heidongwang.top/img文件夹,上传test.jpg图片到/www/wwwroot/heidongwang.top/img目录下,那么使用 photo.heidongwang.top/t 在浏览器就能够访问到了。

配置image.heidongwang.top及七牛云设置

七牛云官网首页->管理控制台->对象储存->空间管理->新建空间:填字段:存储空间名称、存储区域和访问控制(选择公开)
->域名:填写image.heidongwang.top、通信协议选http,其他怎么开心怎么来->自动生成CNAME解析值

域名解析商官网->DNS->添加域名解析:主机记录:image(换成你的域名前缀)、记录类型:CNAME、记录值填写七牛云生成值。

七牛云管理控制台->CDN->域名管理->点击域名配置->回源配置:修改配置如下图:


经过这一步配置之后,上面能使用 photo.heidongwang.top/t 访问的图片也可以使用 image.heidongwang.top/1 来进行访问了,显示的效果一样,区别在于浏览器访问的图片来源不在你的服务器而在七牛云空间了。只有第一次访问时七牛云发现该图片在空间中不存在才会到你的服务器把该图片抓取过去,之后就没你服务器什么事了。

#静态资源配置 访问用,转到绑定的七牛镜像域名

    server
    {
           listen       443;
           server_name  picture.heidongwang.top;
           # ssl                  on;
           ssl_certificate      /www/wwwroot/ssl/picture.heidongwang.top.pem;#上传你的证书到相关路径
           ssl_certificate_key  /www/wwwroot/ssl/picture.heidongwang.top.key;#上传你的证书到相关路径
           ssl_session_timeout  5m;
           ssl_protocols  SSLv2 SSLv3 TLSv1;
           ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
           ssl_prefer_server_ciphers   on;
           location / {
              proxy_pass http://image.heidongwang.top/;
           }
    }

把在域名商官网申请到的SSL证书,上传到/ssl路径下,若没有可以新建该路径。

上面配置picture.heidongwang.top使用https访问,在实际访问时转向到image.heidongwang.top/, 也就是七牛云空间,这跟负载均衡时转到Tomcat是一样的道理。


经过上面的配置, image.heidongwang.top/t 也可以用 picture.heidongwang.top 来访问了,也就是达到了使用https来访问的目的。

# 最后

七牛账号注册及空间创建请自行查看七牛文档。

域名的解析等请自行查看域名注册商的文档。

额外的好处:通过上面的配置其实对七牛的是http访问,七牛每个月http都有免费的额度,而https是没有免费额度的,虽然钱不多但能省则省。

编辑于 05-04