Articles of iis 8.5

为IIS 8.5移动\ inetpub \

有许多消息来源说,%SERVERROOT%/ inetpub /永远不会被删除或移动。 是的,我可以同意这一点,因为更新到IIS更新目录盲目 – 他们并没有实际查询系统,看看IIS的inetpub目录托pipe在其他地方。 然而,总是可以离开那个目录,并且简单地在其他地方托pipe网站 – 总是可以将任何站点的HTTP根设置到系统上的任何地方,尤其是在另一个驱动器上的位置。 这尤其使得目录遍历攻击更加困难。 有了这个说法,有没有人有成功既移动的inetpub目录,以及离开它在同一时间? 具体来说,我期待物理移动整个inetpub目录到D:\,然后创build从C:\ inetpub \到D:\ inetpub的符号链接。 我想知道是否其他人已经做到了这一点,如果符号链接(硬链接,/ J,具体)是否成功。 目标系统是Windows 8,1上的IIS。 最终目标将是Win2K12R2上的IIS,或Win2k16(如果在我们的服务器重build之前下降)。

首先请求一段时间后总是慢 – ASP.NET MVC / IIS 8.5 / Windows Server 2012 R2 VPS

我在Windows Server 2012 R2 / IIS 8.5的VPS上托pipestream量较低的ASP.NET MVC 5应用程序,并配有1 GB的RAM。 我的问题是, 经过一段时间没有任何请求的第一个请求总是得到一个缓慢的响应 –根据Chrome开发工具大约1.5秒 。 随后的刷新请求/响应只需要约45毫秒 。 我已经在应用程序池上将“ 启动模式”设置为“始终运行”,并且在网站级别上将“ 预加载启用”设置为“True”,但是完全没有影响 。 即使没有任何更改/上传,经过一段时间后,下一个请求需要1.5秒才能得到响应。

从IIS 6升级到8.5:增加了并发请求

我们将Web服务器从Windows Server 2003升级到Windows Server 2012 R2。 有问题的Web应用程序针对ASP.NET 4.0运行。 Web应用程序又与第三方Web API进行通信。 升级后不久,Web API延迟增加,这反过来导致了显着的超时。 我怀疑,在IIS 8.5上,允许的并发请求数量增加,导致Web API无法处理的吞吐量增加。 然而: IIS 6不限制并发请求的数量。 帮助文件显示如下: 您可以configurationInternet信息服务(IIS)以允许无限数量的并发连接,或者限制它为此网站接受的连接数。 我们目前有这个设置为无限制。 IIS 6和IIS 8.5都使用ASP.NET 4,它也能够限制并发请求的数量。 在machine.config文件中,两个IIS版本都设置为auto-config; 由于两台服务器具有相同的处理器和RAMconfiguration,因此应该使用相同的设置。 当我们回滚升级时,不久之后的延迟就下降了。 不太可能是一个巧合,所以在其他一切保持不变的情况下,Windows 2012 R2或IIS 8.5必然会影响到Web API。 第三方Web API开发人员证实,他们的空间没有任何改变,不幸的是没有任何额外的信息可以收集。 我检查了IIS版本6和8.5的日志:每秒,每分钟和每小时的平均(和中值)请求表明有更多的请求在IIS 8.5上处理(我使用Log Parser Studio来分析日志)。 但是,没有任何迹象表明应该如此。 有没有人有任何见解或build议? 如果有设置控制这个,那么现在我希望Web应用程序在Windows Server 2003和2012 R2上的行为相同。

如何解决Windows Server上的LetsEncrypt证书链问题?

我一直在使用LetsEncrypt在Windows 2012 R2服务器上为我的网站生成证书。 它工作得很好,直到最近我更新证书。 LetsEncrypt最近做了一个改动,他们把名字为“Let's Encrypt Authority X1”的中间证书换成名字为“Let's Encrypt Authority X3”的证书。 问题是,更新证书的权限密钥保持不变。 https://community.letsencrypt.org/t/upcoming-intermediate-changes/ 所以,当我更新服务器证书时,他们现在是“X3”权威的问题,但是由于密钥是一样的,Windows证书商店似乎build立了证书链,find了第一个结果(按字母顺序)成为旧的“X1”证书。 这是问题出现的地方。 对于某些客户端/浏览器(如Chrome)来说,这很好,他们只看中间证书的关键。 但是,其他客户端更严格,也检查名称,然后失败(X1而不是X3)。 我解决这个问题的第一步是取消X1中间证书,并确保我的所有服务器证书已更新为由X3颁发。 现在事情看起来是正确的,至less在Windows中的证书存储(链正确显示根授权 – > X3 – >服务器证书)。 我现在卡住的问题,似乎无法弄清楚,为什么客户继续显示错误的证书链(X1)。 中间证书甚至不存在在我的服务器上,我可以看到。 我尝试了通常的重新启动服务器,也偶然发现了这个类似的post,尝试了几次没有任何运气的步骤 – https://serverfault.com/a/706278/182874 任何线索我可能会失踪? IIS高速caching证书链似乎有一些问题,因为我尝试连接多个客户端/机器,都有相同的问题。 只是没有线索如何清除这个“证书链高速caching”,或者如果它甚至存在。

添加网站主机名 – 我应该包括www前缀?

向IIS添加新网站时,“绑定”部分需要主机名,并给出一个示例: 例如:www.contoso.com或marketing.contoso.com 当为zuggler.com创build我的网站时,我应该在什么时候包含www前缀? 请注意,我很可能会使用我的web.config文件将zuggler.com请求redirect到www.zugger.com。 创build网站时,如果在“主机名”框中包含www前缀,是否有任何区别?

什么是IIS的HTTP状态码404.503的含义?

微软在这里列出了IIS http状态代码,包括子状态代码。 在404节有0到20之间的子代码,但在我的日志中,我得到了一个503作为sc-substatus 我找不到任何有关它的信息。 不要混淆标准HTTP 503(服务不可用)状态。

IIS 8.5是否支持通配符主机头绑定?

我知道IIS 7.5及更早版本不支持通配符主机头绑定。 他们是否添加了最新版本(8.5)? 我看到它最终支持SNI和通配符绑定(* .mydomain.com)似乎是一个相关的function。

HTTP OPTIONS方法如何确定IIS 8.5中允许的方法?

我正在从IIS 8.5(Windows Server 2012 R2 Datacenter)的网站中删除TRACE方法。 我已经实现了这个使用请求过滤如下: <system.webServer> <security> <requestFiltering> <verbs allowUnlisted="true"> <add verb="TRACE" allowed="false" /> </verbs> </requestFiltering> </security> </system.webServer> 这可以防止TRACE请求,但是如果我发送一个OPTIONS请求,它仍然在Allow和Public标题中列出TRACE 。 我已经重置了IIS,但是无法从OPTIONS获取TRACE 。 我不想否认OPTIONS 。 这是有问题的,因为我们遵守的合规性扫描似乎使用OPTIONS作为TRACE启用的指标。 我知道这是不正确的,但这是我必须达到的标准。 有没有办法让选项正确报告可用的方法?

IIS 8.5批量更改绑定(由于SSL证书更新)

我刚更新了Comodo Wildcard SSL证书,并创build了PFX,以便将其安装在Microsoft Azure上的VM上的Windows Server 2012 R2上。 我为我的所有网站使用IIS 8.5,其中包括大约300个主域名的子域名。 所以,主要的领域是例如。 example.com和所有子域名都像customer1.example.com,customer2.example.com等 在我将安装更新的证书后,我将不得不更改所有这些子域的IIS绑定,以指向新的证书。 我找不到手动更改每个绑定的方法。 有没有办法改变所有这些绑定的批量?

与“Windows Server 2008 R2”上的“IIS 7.5”相比,“Windows Server 2012 R2”上的“IIS 8.5”上的ASP.NET应用程序性能较差

我们有两个服务器上运行相同的ASP.NET application : 一个实例在Windows Server *2012* R2上的IIS 8.5下运行 两个实例在Windows Server *2008* R2上的IIS 7.5下运行 令我感到困扰的是, 新机器似乎比两台旧机器都要糟糕 ! 在2012年,一个80分钟左右的窗口显示CPU平均使用率 (处理器时间)平均为37% ,平均每秒8个请求 。 在2008年,在同一时间框架中,我看到32.5%的CPU使用率和12.5个请求/秒 : 更重要的是,2012年的CPU(Intel Core i7-4770 @ 3.40GHz)的CPU实际上应该比2008年的那个(Intel Xeon E3-1230 @ 3.20GHz)更快: 加上我对这种性能差异的理解缺乏的事实是,2012实例只运行一个ASP.NET应用程序,而2008年的两个服务器都履行其他任务:一个运行所有三个访问的数据库服务器应用程序实例,另一个在相同的IIS实例下运行不less其他ASP.NET应用程序。 题: 谁能澄清一下,在ASP.NET应用程序性能方面,装备较好的服务器究竟落后了多less?