我們剛剛將圖像託管移至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調用來使我們已更改的圖像無效,同時,打開磁盤緩存以觸發日期修改。 –