重写到外部域在Azure网站中不起作用
我在azure cloud的标准计划中有一个Asp.NET MVC测试网站。我正在尝试设置对外部域的重写。我遵循以下步骤: 我还在RouteConfig中设置了忽略规则,并在应用程序设置中添加了网站\u PRIVATE\u扩展。XDT转换的日志看起来成功,但响应是找不到的页面。重写URL步骤也在工作,因为我可以在跟踪文件中看到它。跟踪文件中的确切错误消息为: 模烯 IIS Web核心 通知 映射请求处理程序 HttpStatus 404 高温超导 找不到 HttpSubStatus 四, 错误代码 文件名、目录名或卷标语法不正确。 (0x8007007b) 更新: 我现在可以确认重写到同一个域的工作。然而,重写到外部域的工作方式与当前网站主页的工作方式相同 我完全没有主意了。请分享你所拥有的最狂野的东西!重写到外部域在Azure网站中不起作用,azure,rewrite,Azure,Rewrite,我在azure cloud的标准计划中有一个Asp.NET MVC测试网站。我正在尝试设置对外部域的重写。我遵循以下步骤: 我还在RouteConfig中设置了忽略规则,并在应用程序设置中添加了网站\u PRIVATE\u扩展。XDT转换的日志看起来成功,但响应是找不到的页面。重写URL步骤也在工作,因为我可以在跟踪文件中看到它。跟踪文件中的确切错误消息为: 模烯 IIS Web核心 通知 映射请求处理程序 HttpStatus 404 高温超导 找不到 HttpSubStatus 四, 错误代
谢谢大家! 如果使用MVC,MVC路由器会截获所有请求,而ARR不会看到这些请求,因此不会转发,并导致HTTP 404–File not Found错误 通过添加以下内容,告诉MVC Routing不要使用您的代理来解决此问题:
routes.IgnoreRoute("proxy/{*pathInfo}");
到Global.asax
如果这没有帮助,那么从Azure站点诊断页面启用,将生成真正有用的信息
希望这能有所帮助。不知何故,幸运的是我成功了。经过几个小时的阅读和尝试,我仔细阅读了Ruslan博客文章中的例子
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.webServer>
<proxy xdt:Transform="InsertIfMissing" enabled="true" preserveHostHeader="false"
reverseRewriteHostInResponseHeaders="false" />
</system.webServer>
</configuration>
请注意,它表示reverseRewriteHostInResponseHeaders=“false”。好吧,实现这一点让我的东西发挥作用
复制/粘贴编程也一样。遗憾的是,这是您应该如何设置它的实际示例。谢谢您的回答。我已经按照你的建议做了。