PHP笔记-解决网站CDN加速后图片出现跨越问题

Posted IT1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP笔记-解决网站CDN加速后图片出现跨越问题相关的知识,希望对你有一定的参考价值。

最近(2022-06-30 22:00:01)写了一个南京地铁的案例,效果是这样的:

这个是解决后的效果。

解决前是这样的:

这里我调用的图片是it1995.cn下面的,而这个虚拟空间因为有cdn加速,我请求这个的时候直接302,然后去请求imancp中的数据了。

联系了官方客服,客服说,可以解决,他去吧cdn关了。就好了。

搞web的都知道,把这玩意关了,不是访问就慢了。就不能单独关一个吗。算了。还是我自己来处理吧。

原理是这样的,写一个请求,直接把图片数据返回,因为cdn是根据图片后缀,如果url中后缀是.png等,他就会使用cdn。

关于HTTP请求可以知道:

当发送图片时,body中填写图片的数据,content-type为图片数据。

这里先修改下php后端:

Laravel添加一个路由:

Route::get('/subway/trainIcon', [SubwayController::class, 'getTranIcon'])->name('subwayTrainUrl');

再添加一个方法,或者这个图标:

    public function getTranIcon()

        $path = resource_path('pic/subway/trian.png');
        $content = file_get_contents($path);
        $ret = response($content)
            ->header('Content-Type', 'image/png');

        return $ret;
    

随后我们把前端的这个注掉:

注意当我们怎么引用的时候,这个tran是文件路径:

 这里将改成新的就好了:

let tran = 'route('subwayTrainUrl')'

这样就完成了!

这里也简单解释下本人的第四个案例,模拟南京地铁数据:

南京地铁模拟案例 - it1995.cn

这个最好用PC电脑打开。

这个案例的架构是这样的:

 

 

 

 

 

以上是关于PHP笔记-解决网站CDN加速后图片出现跨越问题的主要内容,如果未能解决你的问题,请参考以下文章

PHP笔记-解决网站CDN加速后图片出现跨越问题

哪些业务需要使用CDN加速服务?

解决国外用户访问国内网站慢的问题

为啥越来越多的网站选择CDN加速?CDN加速有啥作用?

如何巧妙运用cdn加速方案提高网站速度?

教程篇 | 使用七牛云存储CDN加速网站图片