我们刚刚将图像托管移至Azure,ImageResizer(v 4.0.5.942)由Cloudflare的CDN提供,但发现CDN在图像时保留了缓存图像在Azure blobstore上已经改变了。将通过Imageresizer从Azure Blobstore修改过的数据/时间传递到CDN
我们在我们的传出图像托管中使用了相同的CF CDN和Imageresizer,这是一个带有Imageresizer diskcaching集的iis盒子,并且没有问题。
我们Azure的imageresizer配置文件的插件部分是 -
<add name="AzureReader2" prefix="~/"connectionString=
"DefaultEndpointsProtocol=httpsAccountName=reiwastorstagimg
AccountKey=xyzxyxyyz"`
checkForModifiedFiles="true" />
测试图像是通过CDN - http://azstagingimage.reiwa.com.au/listing/09/2635009-04.jpg?maxwidth=724&maxheight=543&quality=100
直接到Imaresizer应用 - http://azstagingimage3.reiwa.com.au/listing/09/2635009-04.jpg?maxwidth=724&maxheight=543&quality=100
在炳的配置包含 -
<resizer>
<plugins>
<add name="DiskCache" />
</plugins>
<diskCache autoClean="false" hashModifiedDate="true" subfolders="1024" />
</resizer>
我的想法是,当我们在预先打开磁盘缓存时,Imageresizer会检查原始图像的日期/时间戳,将其与其缓存版本的日期/时间进行比较,如果更改,将重新处理图像,从而更改缓存的图像日期/时间修改的邮票,然后由CDN拾取,导致重新阅读。我相信checkForModifiedFiles =“true”会导致Imageresizer返回Blob存储区,获取原始文件的修改日期并将其传递给CF CDN(或浏览器),但我们已经设置了它并没有按我们的预期行事。
有谁知道有没有办法解决这个问题,还是我需要在云中开启diskcache?
预先感谢您。 Kieron
再次感谢您,我们决定采用CloudFlares API调用来使我们已更改的图像无效,同时,打开磁盘缓存以触发日期修改。 –