这些图像可以在本地ENV中加载,也可以在生产ENV中加载。但是,无论如何,暂存环境无法加载这些内容。ImageProcessor/Windows Azure存储问题,返回403 Forbidden
<package id="ImageProcessor" version="2.2.0.0" targetFramework="net45" />
<package id="ImageProcessor.Web" version="4.2.1.0" targetFramework="net45" />
<package id="ImageProcessor.Web.Config" version="2.2.0.0" targetFramework="net45" />
<package id="ImageProcessor.Web.Plugins.AzureBlobCache" version="1.0.0.0" targetFramework="net45" />
<package id="ImageProcessor.Web.PostProcessor" version="1.0.2.0" targetFramework="net45" />
<package id="UmbracoAzureBlobStorageProvider" version="1.0.10.5" targetFramework="net45" />
<package id="WindowsAzure.Storage" version="4.3.0" targetFramework="net45" />
我使用ImageProcessor并根据需要域列入白名单:
<whitelist>
<add url="http://conceptjp.blob.core.windows.net/"/>
<add url="https://az739977.vo.msecnd.net/"/>
</whitelist>
https://cjp.local/remote.axd?https://az739977.vo.msecnd.net/media/6883/logo-sparitual.png?quality=70(工程,当地环境)
2016-10-04 13:31:11.2393 Logging.TheLogger The remote server returned an error: (403) Forbidden. The remote server returned an error: (403) Forbidden. at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndExecuteAsync[T](IAsyncResult result)
at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass1`1.<CreateCallback>b__0(IAsyncResult ar)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ImageProcessor.Web.Plugins.AzureBlobCache.AzureBlobCache.<IsNewOrUpdatedAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ImageProcessor.Web.HttpModules.ImageProcessingModule.<ProcessImageAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.TaskAsyncHelper.EndTask(IAsyncResult ar)
at System.Web.HttpApplication.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar)
答案是将服务器上的时钟设置为UTC。 http://stackoverflow.com/questions/22828279/403-error-in-production-from-windowsazure-storage –