簡體   English   中英

Sitecore - 沒有使用 Dianoga 工具從 CDN 生成 WebP 圖像

[英]Sitecore - WebP image not getting generated from CDN with Dianoga tool

迪亞諾加 5.4.1 版本

環境描述Sitecore.NET 9.3.0 .NET Framework 4.7.2

您啟用了哪些配置

  • Dianoga.DisableForSites.config
  • 迪亞諾加.Jpeg.config
  • Dianoga.Log.config
  • 迪亞諾加.Png.config
  • 迪亞諾加.Svg.config
  • Dianoga.WebP.CDN.config
  • Dianoga.WebP.config

Web.config 更改:我已將 sitecore_media.ashx 類型替換為 "Dianoga.MediaRequestHandler, Dianoga" name="Sitecore.MediaRequestHandler"

你期望看到的和你實際看到的

預期:看到以 webp 格式拉下的圖像

實際:圖像以原始格式(jpeg、png 等)接收,但不是以 webp 格式接收的。

日志文件:所有日志文件都是空的。

評論在 Azure 中的 CD 上部署后,MediaProvider 添加擴展 webp 作為 URL 參數。 這應該會觸發 MediaRequestHandler 中的 webp 優化器。 但是 MediaProvider 似乎沒有運行。 在我當地的環境中,我不使用 CDN 並且 Dianoga 工作正常。 我可能錯過了什么?

• 您的圖像文件沒有得到轉換,因為conflict in the Sync/Async strategy 此外,由於 CDN 中的“Dianoga.WebP.CDN.config”配置已啟用,您必須禁用“Dianoga.Strategy.MediaCacheAsync.config”設置。

此外,通過啟用“Dianoga.Strategy.GetMediaStreamSync.config.disabled”配置設置和上述設置,確保啟用 MediaOptimization”。 這將確保optimization will occur synchronously when the images are requested ,從而確保圖像文件的成功轉換。

• 請檢查 CDN 中配置的“接受”標頭是否包含在緩存鍵中,因為此標頭中提到了接受的媒體格式列表 此標頭說明可以進行哪些圖像格式轉換。 例如: - the header can be 'image/avif,image/webp,image/apng,image/*,*/*;q=0.8' which means that the browser supports 'WebP' image format

此外,正如您在問題中所述,您似乎已啟用'Next-gen formats support' ,但同樣,您必須將web.config 文件中的 ''行更改為''

有關更多詳細信息,請參閱以下文檔鏈接以了解有關此操作的更多步驟:-

https://github.com/kamsar/Dianoga#optimization-strategies

If you are using Azure CDN (Microsoft) or Azure Front Door Classic with Azure CDN (Microsoft), Accept header is not passed to the Origin server. Dianoga 需要Accept header 來了解它是否支持下一代圖像格式。

如果頁面不是通過 Azure CDN 路由的,則Accept header 將僅針對頁面請求傳遞到源服務器。 Dianoga 和 Sitecore 將生成帶有擴展查詢參數extension=webp,{other image formats}的媒體鏈接。 如果此查詢參數可用,則 Dianoga 將能夠生成webp格式,而無需讀取媒體請求的Accept header。

選項 1 :將 Azure CDN 升級到 Verizon Premium(成本高昂),並將 header 傳遞回原始服務器,Dianoga 將能夠優化和發送webp圖像。

選項 2 :如果您的應用程序網關中有規則引擎,請創建一個規則,以不同的 header 名稱發送 Accept header,並使用該 Z099FB995346F31C749F6E40DB0F395E3 名稱以webp格式生成。 在請求到達 Azure CDN 之前,這需要一個規則引擎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM