我目前正在将(工作)网站迁移到Windows Azure云,但遇到UrlRewrite模块问题。问题是出站规则导致内部服务器错误 - 如果禁用规则,站点会正确加载。Azure Web角色和出站URL重写会导致500错误
我检查了Azure服务器上的模块顺序,它与我的本地计算机和托管服务器完全相同。我在我的web.config以下行禁用静态压缩:
<urlCompression doStaticCompression="false" doDynamicCompression="true" dynamicCompressionBeforeCache="false" />
这是造成问题的重写规则的例子:我也有以下前提条件定义
<rule name="cdn rewrite" preCondition="text only">
<match filterByTags="Img" pattern="^/Images/(.*)$" />
<action type="Rewrite" value="http://cdn.website.com/{R:0}" />
</rule>
:
<preCondition name="text only">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/.+$" />
</preCondition>
不知道,如果是相关的或没有,但该网站是MVC4内部运行和额外的小2008R2实例(osFamily =“2”)。
我现在有一个应用程序请求路由的解决方法,但我宁愿让URL被重写,因为我们不打算将Azure CDN用于生产站点。
任何人都设法让Azure工作?
编辑 - 一些更多的信息:
实际的错误(在Firebug报道)说“NetworkError:500 URL重写模块错误 - http://website.cloudapp.net/”
中没有任何日志或者在事件查看器或与此问题有关的实际日志文件。
其实它固定在打字了这一点 - 见下文
你能指定你得到(看看事件查看器通过RDP或看诊断日志)实际的错误?内部服务器错误可能是任何错误。 –
您是否完全阅读了Ruslan的答案:http://forums.iis.net/t/1165899.aspx还有一个注册表项必须更改,以及重新排序模块。不只是禁用静态压缩和dynamicbeforecache。坦率地说,我还没有尝试过那种完整的解决方案,但似乎它不会工作,除非Ruslan提到的所有观点都不满意。 – astaykov