IIS 7:值不在预期范围内

时间:2014-06-16 05:18:44

标签: iis iis-7 windows-7-x64

当我尝试在我的本地计算机(在Windows 7上运行)上启动我的IIS服务器时,它给出了一个错误说:

  

值不在预期范围内

我已经尝试了很多事来纠正这个问题,但没有成功。最后我在我的机器上重新安装了IIS服务器,但问题仍然存在。

有没有人对此错误有任何疑问?我该如何解决?

11 个答案:

答案 0 :(得分:19)

我发现,这个问题是由于IIS中的visual studio创建了错误的虚拟目录而导致默认网站无法启动。

我要解决此问题,我删除了我的默认网站并在IIS中再次创建。之后,我创建了我的应用程序的特定虚拟目录。这解决了我的问题。仍然不知道为什么默认网站在Visual Studio创建不正确的虚拟目录后停止工作。

希望这有助于那些面临这个问题的人。

答案 1 :(得分:6)

我在IIS 8.5中遇到此问题,问题最终是绑定中主机名的不完整条目。我没有在FQDN上包含.com。

答案 2 :(得分:3)

我遇到此问题,即将网站的特定帐户设置为..

如果直接在applicationHost.config中设置密码,它就会消失。虽然IIS不能再做了..

在:C:\ Windows \ System32 \ inetsrv \ config

可能有所帮助。

答案 3 :(得分:3)

我遇到了同样的问题。问题出在@ aaron-gibson指出的文件中。

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

(见这里:IIS Configuration Reference

其中一个网站的数据不正确:

<application path="/e:\MyFolder\MySiteWithProblem\VDir" applicationPool="AppPool152">
<virtualDirectory path="/" physicalPath="e:\MyFolder\MySiteWithProblem\VDir\Vdir" />

在这种情况下,application path包含无效字符。而且,physicalPath不存在。

修复此条目可解决问题。

标记为解决方案的答案解决了问题,因为它从头开始重新创建此文件。但就我而言,我没有丢失所有网站。

我更改了文件        applicationHost.config 在:C:\Windows\System32\inetsrv\config

每个网站的条目都在标签中:

<configuration> <system.applicationHost> <sites> ... <site name="Default Web Site" id="1" serverAutoStart="true"> <application path="/MyPath" applicationPool="AppPool152"> <virtualDirectory path="/" physicalPath="e:\MyFolder\MySite\Vdir" /> </application> ... <site> ... </sites> </system.applicationHost> </configuration>

答案 4 :(得分:2)

我的结果是一个问题。我删除了比绑定中使用的其他名称,它工作得很好。

祝你好运!

答案 5 :(得分:1)

将“主机名”设置为数字可能会导致此问题。 “主机名”需要包含至少1个字母。

答案 6 :(得分:1)

我在Octopus Deploy中遇到了这个问题。

事实证明,绑定存在问题,即在Octopus中设置项目时,主机名末尾有多余的空格。

您还可以从C:\ Windows \ System32 \ inetsrv \ Config中的applicationhost.config看到此信息

答案 7 :(得分:1)

我遇到了这个问题,问题是绑定错误,URL后有一个空格。

检查绑定中是否有错误的字符,以及是否还有其他错误。

答案 8 :(得分:1)

我在新的IIS 10部署中遇到了这个问题。我们的网络团队从较旧的服务器上复制了applicationhost.config文件,这是造成这种情况的原因。在IIS 10中,有两个新设置可以加密应用程序池标识的密码。由于IIS 7配置文件没有这些加密设置,因此IIS在分配新用户时抛出此错误。我只是从全新的服务器版本中复制了设置,然后开始正常工作。将这两个设置添加到已经存在的现有设置中:

<configProtectedData>
    <providers>

        <add name="IISCngProvider" type="Microsoft.ApplicationHost.CngProtectedConfigurationProvider" description="Uses Win32 Crypto CNG to encrypt and decrypt" keyContainerName="iisCngConfigurationKey" useMachineContainer="true" />
        <add name="IISWASOnlyCngProvider" type="Microsoft.ApplicationHost.CngProtectedConfigurationProvider" description="(WAS Only) Uses Win32 Crypto CNG to encrypt and decrypt" keyContainerName="iisCngWasKey" useMachineContainer="true" />

    </providers>
</configProtectedData>

答案 9 :(得分:0)

在我使用自动构建和部署系统(TeamCity with Octopus deploy)之前,我已收到此错误消息。事实证明,Octopus Deploy变量中为IIS指定的端口号I太高了。

从我在web site找到的内容中,IIS将接受的最高端口号为65535。

答案 10 :(得分:0)

此消息可能是由C:\ Windows \ System32 \ inetsrv \ config中的applicationHost.config文件中的应用程序名称格式错误引起的。

例如,我在应用程序名称中有一个“ \”,将其删除后就消除了错误。