问题标签 [applicationhost]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1356 浏览

authentication - web.config 中的 IIS 身份验证

在我们的项目中,用户可以将文档上传到目录。问题是用户无法通过 URL 访问这些文件。

在 IIS 中使用权限后,我能够通过更改文件(或文件夹)的权限以允许 IIS_IUSRS“读取”来下载文件。我的问题是这些文件夹也是动态生成的,我不想手动必须通过并更改每个文件夹的权限。

我正在尝试获取 web.config 文件以允许读取这些文件,但我无法获得正确的配置。

在网站的 web.config 文件中,我有:

但是,再次访问该文件时,我收到 500.19 错误:

AnonymousAuthenticationModule
此配置部分不能用于此路径。当该部分锁定在父级别时会发生这种情况。默认情况下锁定 ( overrideModeDefault="Deny"),或者由带有overrideMode="Deny"或 legacy的位置标记显式设置allowOverride="false"

按照这个答案,我在 applicationHost.config 中设置AnonymousAuthenticationModulelockItem="false",并anonymousAuthentication重新Allow启动服务器。毕竟,我仍然得到相同的 500.19 错误。

0 投票
2 回答
9736 浏览

iis - 以明文形式显示的 IIS 应用程序池标识帐户密码

当我使用该appcmd list appool <ApplicationPoolName> /text:*命令时,它会以明文形式显示应用程序池身份密码。Get-WMIObject我也可以在 PowerShell 中以明文形式查看密码。这可能是一个严重的安全威胁,因为具有正确访问凭据的用户可以轻松查看密码。

IIS (v7.5) 中的应用程序池是使用域用户帐户/密码配置的。在applicationHost.config文件中,密码使用IISWASOnlyAesProvider加密提供程序进行加密。尽管如此,当我使用上述两种方法中的任何一种时,密码仍以明文形式显示。

当我使用上述两种方法时,有什么方法可以加密密码,使它们不会以明文形式显示?

0 投票
0 回答
157 浏览

c# - 项目重建后 Applicationhost.config 更改。如何防止这种情况?

我有复杂的 C# ASP .Net MVC Web 应用程序,需要定义特定的非标准 IIS 配置。问题是我必须在每个项目重建后和每个项目启动之前手动设置此配置,因为每次 IIS 配置都在更改。为什么?我怎样才能防止这种情况发生,或者至少,我应该在哪里设置这个配置应该改变的方式?

0 投票
1 回答
1440 浏览

iis-7.5 - 如何使用 PowerShell 在 applicationHost.config 中提取 rewriteMaps 和 GlobalRules 的值?

我正在处理我们的applicationHost.config文件中的大量重定向,基本上我想读取重定向规则并提取规则的 XML 信息,以便获取重定向 URL 以供审查。由于我们的 IIS 7.5 实例中有大量重定向规则,因此请使用 IIS 的 URLRewrite 功能。

我想导出我们现有规则的列表,并且由于 applicationHost.config 是使用 PowerShell 2.0 的 XML(我现在还不能使用 3.0),所以我应该能够遍历节点并拉取它们出去。很简单,直到我尝试在 sectionGroup system.webServer 下获取任何内容,当我尝试拉出该节点时,我无法获得任何值。

查看配置文件时,基本规则是结构化的(根据上面指向 Microsoft 的链接):

基本上我打算做以下事情:

我想在哪里获取 rewriteMap 键和值,所以我有这些重定向,并且可以从如下规则中提取键和重定向的 URL:

在这里,我想链接中的值,这将使我获得大部分重定向 URL。

看起来 system.webServer 以某种方式弄乱了节点,因为它具有 . 在名字里。一个似乎可用的选项是使用 configuration.configSections,因为它显示了 sectionGroups,其中之一是 system.webServer,但我还没有弄清楚如何以正确的格式获取节点以提取我想要的部分。

有没有办法做到这一点,或者比尝试使用 Get-Content 更好的方法?我之前已经在其中完成了其他 XML 文件,虽然我看到了 applicationHost.config 的其他一些 PowerShell 脚本,大多数都是用于添加的,但我想做的只是提取几个节点。

感谢您的任何帮助或指点。

编辑:所以当我仍然环顾四周时,我发现我可以通过在它周围使用“标记来通过 system.webServer。像这样:

这让我得到了一个很好的键值对表中的重写映射。现在我仍然需要获取 GlobalRules。我可以通过以下方式获得每条规则:

显示:

但是我需要提取匹配和操作的值,但还没有。

0 投票
1 回答
1080 浏览

php - PHP 脚本在 IIS 上挂起 15 分钟后

我有一个长时间运行的 PHP 脚本,在 IIS 上运行(通过 WebMatrix 3 安装的 IISEXpress。

在前 15 分钟内,它运行良好,查询亚马逊产品广告 API,一次一行地将输出刷新到浏览器以显示其进度。然后它停止显示任何进展。

我很确定问题不在于脚本或 Amazon API,因为它每次都会达到不同的进度点,但总是在 15 分钟时停止(我在脚本中内置了一个时间,并且经过的时间刷新到浏览器中的页面)。

为了防止脚本在 30 秒后因错误而中止,我设置了:

我听说 IIS 可能在 15 分钟后出现 CGI 超时,并尝试将 CGI 行添加到 ApplicationHostConfig 以覆盖任何默认超时。没有效果。

(如果您想知道,我将 ResponseBufferLimit 设置为 0 以强制刷新。)

在 system.webserver 部分的其他地方,我们有:

不存在其他“超时”值。

顺便说一句,我无法运行 appcmd 或通过 GUI 访问 IIS 设置,大概是因为是 IISExpress。但 applicationhost.config 似乎工作正常。

非常感谢任何建议。

乔纳森

0 投票
1 回答
645 浏览

iis - AppFabric 1.1 升级后 WebDeploy 失败。ApplicationHost.config 无效属性

我们最近升级到 AppFabric 1.1,在执行 Web 部署时,我们遇到了托管服务自动启动属性的一些问题。

IIS 在所有机器上都启用了自动启动功能正常。事件日志和 IIS 没有显示与错误配置相关的错误,我可以按预期访问网站。进入 WCF 和 WF 服务配置时,对话框正确显示,并且自动启动设置为对所有服务启用。虚拟目录的应用程序主机也符合预期,“应用程序”元素中包含以下属性:

所以一切正常,配置符合预期。但是,当我们尝试WebDeploy (msdeploy.exe)访问我们的任何应用程序(在所有机器上)时,我们现在会收到:

这对我们来说是一个阻碍,因为我们有许多机器都使用我们的部署脚本进行了更新,而且我们可以部署的唯一方法是删除上面显示的三个自动启动属性,部署,然后重新启用。我知道我们可以很容易地使用 appcmd 实现这一点,并将其作为我们脚本的一部分,但这感觉没有必要。

一定有问题,因为这在升级之前有效,但我在网上找不到其他遇到此问题或类似问题的人的任何参考资料。

作为记录,来宾操作系统是 Windows Server 2008 R2。

有任何想法吗 ?

0 投票
1 回答
1897 浏览

iis - 为什么 AppHostSvc 偶尔会在使用 100% CPU 时卡住?

我有一个运行 IIS 7.5 并提供 Web 应用程序的 Windows Server 2008 R2 服务器。

我注意到一个svchost.exe进程正在消耗大量 CPU(整个 cpu 核心为 100%)。该特定进程托管IIS Application Host Helper Service (AppHostSvc)。一旦问题开始,服务器在做什么就无关紧要了(否则它可能完全空闲,服务将占用 CPU)。

如果我终止进程,问题就会消失 - 在服务由 IIS 自动重新启动后,它使用最少的 CPU。

AppHostSvc 服务负责IIS 主机历史配置并自动备份配置(我相信默认每两分钟一次),我认为问题可能在 IIS 配置更改后开始。我尝试更改一些配置设置,但没有效果(即使等待几分钟)。

最终我找到了触发它的原因,但它似乎是一个错误。请参阅下面我自己的答案。

0 投票
0 回答
305 浏览

.net - 如何确定是否为 IIS 应用程序启用了匿名访问?

我有一个托管在 IIS 7.5 上的 ASP.net 应用程序,并且想在应用程序中找出是否为此应用程序启用了匿名访问。

我认为这将提供:

但部分始终为空,即使 applicationHost.config 中的相关部分看起来不错:

谁能告诉我为什么这是空的?谢谢。

0 投票
0 回答
207 浏览

iis - 启用 IIS 重写模块日志记录

我在 Windows 2008 Server R2 上使用 IIS 7.5 并安装了 IIS Rewrite Module v2.0。我正在尝试启用日志记录以准确查看正在使用的重写规则。根据研究,我了解到我需要修改(更新)C:\Windows\System32\inetsrv\config\applicationHost.config。为此,我创建了一个名为“RewriteLogging.xml”的新 XML 模式文件,并将其放在 C:\Windows\System32\inetsrv\config\schema 目录中。该文件包含以下代码:

重新启动 Web 服务器后,我注意到 applicationHost.config 文件的日期和时间戳得到更新,但我的新指令没有被添加。

所以这是我的问题:

  1. 我以正确的方式接近这个吗?
  2. 我在创建单独的 XML 文件并将其放在架构目录中是否正确?
  3. 我应该创建一个新的部分架构名称还是应该使用现有的?如果有,是哪一个?
  4. 我在 XML 文件中使用了正确的语法吗?当我在浏览器中打开它时,我没有看到任何令人鼓舞的错误。
  5. 我是完全错过了什么还是忘记了重要的一步?

任何帮助将不胜感激。

0 投票
1 回答
5449 浏览

asp.net - 即使在 applicationHost.config 中允许,gzip 压缩也不起作用

我想使用 IIS7.5 为在 ASP.NET4.5 上运行的站点启用 gzip 压缩,但无法对其进行压缩。

我在共享主机上,所以我不能直接在 IIS 中设置它。

应用程序主机配置

我将其从更改DenyAllow(我在这里读到我不应该更改allowDefinition设置:How do you change the allowDefinition section attribute using appcmd in IIS 7?

我网站的 web.config

作为上述的替代方案,我还尝试将其添加到我的 web.config 中:

我在 Windows 2008 服务器管理器中看到安装了静态内容压缩,但没有安装动态。

然后,当我转到 IIS 到我的站点时,我现在看到的模块压缩Enable Dynamic content compression已启用(即使显然没有安装)但显示为灰色,并且检查了静态内容压缩。

在此处输入图像描述

尽管如此:即使启用了静态和动态内容压缩,我也没有看到使用 Fiddler 进行压缩。

DecodeFiddler 中未启用该按钮。我还检查了http://www.whatsmyip.org/http-compression-test/http://www.gidnetwork.com/tools/gzip-test.php

但无论我做什么,当我检查 Fiddler 时,我都没有看到 gzip 压缩: 在此处输入图像描述

我已经检查了这些帖子:

http://blog.arvixe.com/how-to-enable-gzip-on-iis7/

启用 IIS7 gzip