CDN如何使用nginx负载均衡实现回源请求

应用场景:A服务器作为CDN服务器,B服务器代表客户服务器。实现在A服务器上边访问B服务器上边的资源。

具体实现逻辑如下:A:CDN服务器上解析一个泛域名如:(*.cdn.com)用于用户域名解析cname使用。B:客户服务器域名解析A服务器生成的cname如:(d5f78q.cdn.com)

上实践:
准备A服务器作为CDN服务器,添加一个A记录,域名使用泛域名*.ceshi.com 记录值绑定A服务器的ip。
在这里插入图片描述
B客户服务器拿到A服务器给生成的cname到自己购买域名的厂商上边解析cname即可

A服务器配置文件的简单实现如下:
如图:upstream 块下放B服务器的源站ip以及端口,在server块中指向此upstream块实现一个简单的CDN回源请求。
CDN如何使用nginx负载均衡实现回源请求_第1张图片
保存重启,可以ping一下B客户服务器的域名,可以看到ip指向的是咱们A服务器的ip,以及显示的cname域名,这说明域名解析已经正确。
CDN如何使用nginx负载均衡实现回源请求_第2张图片
此时咱们可以请求一下B客户服务器的域名可以看到,可以通过中间的cdn调度访问B源站资源。后期可以做很多功能如,在A服务器对B客户服务器上边增加缓存,以及证书等等操作。

如下图测试:访问B客户服务器的域名,我的A服务器用的是openresty做的底层,可以看到URL指向的是咱们B服务器的域名,但是下边的ip地址指向的是42咱们的A的服务器地址。下边的Response Headers 可以看到我在A服务器上边对B服务器的资源设置了缓存,N-Cache-Status:HIT 这一项。
CDN如何使用nginx负载均衡实现回源请求_第3张图片

你可能感兴趣的:(linux)