部署到azure然后获得403 - 禁止访问

时间:2012-11-11 06:48:50

标签: azure

我正在尝试部署到Azure(Silverlight应用程序);我已经迁移了我的数据库,更新了连接字符串并将我的应用程序发布到Azure,但是当我点击服务URL时,我得到了这个:

403 - 禁止访问:访问被拒绝。 您无权使用您提供的凭据查看此目录或页面。

知道我需要改变什么吗?

非常感谢

3 个答案:

答案 0 :(得分:6)

如果捆绑包的名称与文件系统中的路径匹配,则Azure上的IIS将抛出403 Forbidden错误。

因此,如果您的解决方案中有一个名为/Content/css的路径,并且您在bundles.Add(new StyleBundle("~/Content/css").Include( ...中有一个名为BundleConfig.cs的捆绑名称,在@Styles.Render("~/Content/css")中显示为_Layout.cshtml 1}}文件。然后你就会得到那个错误。

我通过将我的捆绑名称从/Content/css更改为/Style/css

来解决了这个问题
    {li} bundles.Add(new StyleBundle("~/Content/css").Include( ... BundleConfig.cs成为bundles.Add(new StyleBundle("~/Style/css").Include( ...@Styles.Render("~/Content/css") <{1}}中的
  1. _Layout.cshtml变为@Styles.Render("~/Style/css")
  2. 您可以使用任何您喜欢的名称,没有特定限制。我想你可以继续重命名解决方案中的文件夹,这应该可行。

    注意:捆绑包的名称将变为浏览器可以请求的虚拟目录。如果它类似于物理文件夹结构,那么它将返回 403

答案 1 :(得分:0)

我需要使用应用程序中页面的完整路径,因为我没有在我的Web配置中设置默认文档,例如

   <add value="Pages/Home.aspx"/>

答案 2 :(得分:0)

我在MVC项目中遇到了同样的错误。 经过一些调试后,我发现这是因为我删除了Azure门户中的所有“默认页面”。

我在门户网站中添加了一个虚拟的“index.html” - 记录,然后一切都很好用了:)