无效的应用程序路径


92

IIS7 Windows 7 64位

不管我做什么,我似乎都无法将应用程序添加到网站。

当我“测试设置”时,我得到“无效的应用程序路径”。

有人猜到我可能做错了什么吗?

屏幕截图


向我们展示更多细节。添加屏幕截图!!!

5
我遇到了同样的问题:打开IIS,选择一个现有的Web应用程序,转到“基本设置”,单击“测试设置”按钮,查看错误。我认为错误消息的屏幕快照不会再有帮助。虽然,这可能不是发布此问题的最佳位置。尝试serverfault.com
bzarah 2011年

请看一下这个问题和答案,我相信它将对您的问题有所帮助:stackoverflow.com/questions/2665578/…–
Tamir

2
可能是正确的答案- stackoverflow.com/a/8826772/1193727
resnyanskiy

Answers:


48

当我收到此错误时,似乎是由于安全设置。当我将“连接为”属性更改为管理员时,我不再收到该消息。

显然,这对于生产环境不是一个好的解决方案-可能应该授予默认情况下将要使用的用户IIS所需的最少特权。如果我了解更多信息,我将更新此答案。


4
错误消息本身可能是一个错误(请参阅我的答案)-可能不需要“连接为”
Aaron Hoffman 2012年

2
原来消息只是一个错误。它与管理员帐户一起使用,因为该帐户具有对所有Web目录的所有权限。如果将网络用户添加到管理员,则不使用Connect As
Geddon,2014年


10

我最终将其追溯到匿名身份验证凭据。我不知道发生了什么变化,因为该应用程序曾经可以工作,但是无论如何,这就是我所做的:单击应用程序->身份验证。确保启用了匿名身份验证(就我而言),然后单击“编辑...”,然后将匿名用户身份更改为“应用程序池身份”而不是“特定用户”。进行此更改对我有用。

问候。


1
这对我不起作用-但关闭匿名访问并仅允许Windows身份验证可以解决问题。然后关闭Windows身份验证并打开“匿名”功能也可以。很奇怪。
肖恩·道尔

9

在IIS中转到HTTP绑定(选择您的网站,然后右键单击Bindings ...)。删除您的SSL和HTTP绑定。重新添加它们。

这通常可以为我解决此问题。


1
这立即解决了该问题。(另一种典型的,荒谬的,无用的错误消息,带有非显而易见的修复。)
Ryan Russon

5

尝试:Internet信息服务(IIS)管理器->默认网站->单击“错误页面”属性,然后选择“详细错误”


1
详细的错误将我引向正确的方向。 WCF-错误500.21处理程序“ svc-Integrated”在其模块列表中有一个错误的模块“ ManagedPipelineHandler”。 解决 aspnet_regiis -iru // From x64 .net framework directory
案例303

我没有遇到WCF错误,但是aspnet_regiis命令也为我解决了这个问题。我也从IIS中的应用程序池和应用程序的全新设置开始。
MichaelHuelsen


3

我也收到此错误,我发现这是因为我删除了默认应用程序池“ DefaultAppPool ”。重新创建它可以解决问题。让我发疯了几天。

如果将Web应用程序映射到不存在的应用程序池,则会出现此错误;或者该应用程序池已停止。


1
同样,如果分配的应用程序池已停止,则可能会发生这种情况。
理查德

理查德(Richard)如果那是一个答案,那么就将其作为一个单独的答案,而不是对此答案发表评论。
罗克兰2014年

3

我也有这个错误。

我的IIS网站有一个默认网站,其下面有三(3)个应用程序目录。

我已经正确配置了我的3个应用程序目录中的每个目录,以在应用程序池中使用.NET Framework v2.0。

编辑应用程序池

但是,从未配置默认网站。我认为没有必要,因为我的所有应用程序都包含在其中。

我的IIS服务器的默认配置是.NET Framework v4.0,因此我将其更改为.NET v2.0:

编辑默认应用程序池

完成该操作后,我不再收到相同的错误消息。

现在,我看到了:

结果

我希望这些信息对其他人有帮助。


1

我也收到此错误。对我来说,问题出在机器上有两个单独的网站,而我没有指定哪个地址去哪个网站。要解决此问题,请转到IIS管理器->选择网站->绑定->添加...->输入要为此网站解析的主机名。对机器上的任何其他网站重复上述步骤。

HTH。里克



0

我仍然没有找到解决方案,但是找到了解决方法。

您可以在system32 \ intsrv \ config \ applicationHost.config中手动更改IIS配置。只需在<sites>和中手动创建(复制粘贴)部分<location>


0

这对我有用。(顺便说一句,不推荐。)

对于我的测试应用程序,我创建了一个新的应用程序池,并将其标识更改为“ NetworkService”

在此处输入图片说明

有关应用程序池标识的更多信息 ,请参见
http://www.iis.net/learn/manage/configuring-security/application-pool-identities
http://www.iis.net/learn/get-started/planning-for-安全性/了解在iis中内置的用户和组帐户

您必须确保“ NetworkService”对您的应用程序的物理路径具有权限。


0

即使出现上述错误。我发现IIS未在服务器上注册。

注册iis可以解决此问题。

谢谢,


0

就我而言,我有虚拟目录。当我在主目录中访问主WCF服务时,它工作正常,但在虚拟目录中访问WCF服务则抛出错误。在web.config中,我在主目录和虚拟目录中都有以下代码。

    <security>
        <requestFiltering>
            <denyQueryStringSequences>
                <add sequence=".." />
            </denyQueryStringSequences>
        </requestFiltering>
    </security>

通过从虚拟目录中的web.config中删除,可以对其进行修复。


0

我可以通过更改以下文件来纠正该缺陷:

C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config

在:

<application path="/" applicationPool="ASP.NET v4.0">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\Bonobo.Git.Server" />
</application>
<application path="/Bonobo.Git.Server" applicationPool="ASP.NET v4.0">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\Bonobo.Git.Server" />
</application>

对于:

<application path="/">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\" />
</application>
<application path="/Bonobo.Git.Server" applicationPool="ASP.NET v4.0">
    <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\Bonobo.Git.Server" />
</application>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.