Articles of iis 7

IIS7连接超时

我有一个rest服务,将请求发送到托pipeASP.net MVC应用程序的IIS7 Web服务器。 我目前允许持久连接,以便可以发送许多请求,而不占用太多的客户端端口和性能的原因。 不过,我不希望这个连接长时间保持开放。 我不想要长时间连接的原因是,新的连接可以通过负载平衡器,并在新的服务器上结束。 我查看了如何configuration连接超时的时间,并在应用程序的IIS中将其设置为5秒超时。 但是使用Wireshark(一个数据包监视工具),我发现服务器在7-19秒而不是5秒内断开连接。 设置它低不可靠? 也有任何后果,将其设置为一个较低的数字? 例如,请求或响应可能很大,或者服务器上的处理可能需要较长时间才能处理。 最后一个问题是,有没有办法在web.config中设置连接超时而不是依靠IIS设置?

URL Rewrite正在向IIS7中的规范redirect添加HTTPS

我在我的Web.config中定义了以下规则: <rule name="Enforce canonical hostname" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" negate="true" pattern="^www\.mydomain\.org$" /> </conditions> <action type="Redirect" url="http://www.mydomain.com/" redirectType="Permanent" /> </rule> 我所经历的奇怪的是… 看来我被redirect到https://www.mydomain.com/ ,这导致我的浏览器挂起。 我没有打开SSLencryption,也没有任何特殊的授权规则。 有问题的Web服务器位于F5负载均衡器的后面。 有任何想法吗?

php-cgi.exe和/或php5.dll崩溃 – PHP 5.2.17,Win2k8和IIS7

我的PHP脚本的一个特定部分随机崩溃,我不知道为什么。 这个页面和其他页面的唯一区别就是我正在做一个PDO SQLSRV调用。 但80%的时间没有问题,然后突然IIS7将开始吐出奇怪的500错误信息。 如果我回收应用程序池,它会再次正常工作。 以下是NT日志中的错误: HTTP Error 500.0 – Internal Server Error C:\PHP\php-cgi.exe – The FastCGI process exited unexpectedly Detailed Error Information Module FastCgiModule Notification ExecuteRequestHandler Handler PHP Error Code 0x000000ff Requested URL {removed} Physical Path {removed} Logon Method Anonymous Logon User Anonymous 我使用IIS7在Windows 2008 64位上运行非线程安全的PHP 5.2.17。 IIS应用程序池设置为允许32位应用程序,据我所知,FastCGI在IIS和php.ini中configuration正确 真的很感激任何人的build议。 谢谢。 Windows也生成了这个崩溃报告: Version=1 EventType=APPCRASH EventTime=129647371568690873 […]

我如何确定IIS7内存泄漏的原因?

我现在有一个IIS7网站。 如果我观察远程服务器的内存使用情况,通常在300-400MB左右,但有时候会在5-10秒内随机增加到10gb。 我试图通过在更短的时间内从服务器iislog发送相同的请求来在本地主机中复制此错误,但是我无法复制它。 我检查了我的代码没有处置的对象等,我的代码似乎安全。 我已经尝试在IIS6上服务这个网站,fw2和结果总是一样的。 我已经在服务器上安装了.NET Memory Profiler,并在发生这种泄漏时拍摄了一个快照,并在未引用的对象部分列出了大量的内存。 我怎样才能看到原因?

如何configurationWebpipe理服务,以免系统提示input凭据来pipe理远程IIS服务器

我在Windows Server 2008 R2上安装了IIS 7.5,并将Webpipe理服务configuration为使用Windows身份validation(包括将WindowsAuthenticationEnabledregistry项设置为1)。 从另一个工作站与IIS服务器位于同一个域中,我安装了IIS 7.5pipe理UI,并且可以通过重新input当前的Windows凭据连接到IIS服务器,然后完全pipe理IIS实例。 同样从我的工作站,我可以运行MSDeploy,并指定连接使用WMSvc和NTLM身份validation,我可以执行部署操作,而不会提示重新input当前的Windows凭据。 如何configuration我的环境,以便在连接到远程IIS服务器时,IISpipe理器UI不会提示input我的现有凭据?

如何在不closures的情况下以编程方式切换IIS 7.5上的默认绑定?

我们有一个IIS 7.5服务器pipe理我们的托pipe产品。 每一代产品都有自己的AppPool和自己的网站。 每一代都绑定到thegeneration.oursite.com,加上一个幸运的网站获得默认的绑定(这显然是客户实际打的)。 当我们准备切换到新的站点时,我们有一个工具,试图将默认绑定从旧一代切换到新的一代。 这种模式是: 清除所有网站上的绑定。 重新build立所有网站上的自定义绑定 将默认绑定设置为新的活动代。 到现在为止还挺好。 我们的代码很简单,效果很好。 好吧,差不多。 不pipe我们做什么,不pipe我们如何devise结构, IIS总是closures新的默认绑定,抱怨现在有两个默认绑定的站点。 无论我们使用Microsoft.Web.Administration程序集还是编辑applicationHost.config发生这种情况。 值得注意的是,在冲突警告后100%的时间内手动启动站点, applicationHost.config和assembly接口都不会在任何时候显示两个默认绑定的站点。 当我们交换默认绑定时,我们如何保持IIS 7.5closures? 有没有办法做到这一点? 编辑 :我被要求澄清我的意思是一个例子,所以我会走过一个项目的实际升级,我们这样pipe理,窑。 所以我们假设我们从两个活跃的窑炉开始:窑Kiln1.0和窑Kiln2.0 。 这意味着我有AppPools这些名称和这些名称的网站。 基本上客户在Kiln1.0 ; 只有我们的testing人员和testing用户在Kiln2.0 。 窑的账户属于子域,所以为了达到这个目的, Kiln2.0站点绑定了例如*:80:foo.kilnhg.com , *:80:bar.kilnhg.com等,而Kiln1.0站点拥有绑定*:80:*这样任何不明确在testing世代的人都在新一代。 当我们想把每个人升级到Kiln2.0 ,我们要删除Kiln2.0的*:80:*绑定,并在Kiln1.0创build它。 我遇到的问题是, 每一种方法都会closuresKiln2.0 ,IIS声称绑定是重复的。 这就是导致问题的那个特定的绑定。

IIS 7 – 如何查找神秘的networking和CPU使用情况?

我有一个运行IIS的64位Server 2008(R1)盒子。 用户抱怨页面速度非常慢。 挖完后我发现: 隔离盒子后,只有一个用户可以连接,每个Web请求都会导致CPU在两秒内跳到30%,即使在最简单的页面上也是如此。 看代码,这个用法没有明显的原因是明显的。 即使所有的访问超过了100M的LAN,NewRelic显示> 10s丢失到“联网”,并且perfmon显示networking输出队列长度为零。 我们在代码中找不到任何可能导致CPU活动太多的问题,或者为什么NewRelic认为存在networking问题。 寻找从这里去哪里的build议。

当我在Windows 7 IIS 7上本地访问我的网站时,为什么看不到所有可用的客户端证书?

我的团队最近已经将Windows 7移植到我们的开发者机器上。 我们正在尝试configurationIIS进行应用程序testing。 我们的应用程序需要SSL和客户端证书才能进行身份validation。 我做了什么: 我已将IISconfiguration为要求使用SSL,并在SSL设置下要求(并尝试接受)证书。 我已经创build了https绑定并将其设置为正确的服务器证书。 我已经在当前用户和本地机器商店中正确安装了软证书的所有根和中间链证书。 问题 当我浏览到网站时,SSL连接build立,并提示我select一个证书。 问题是证书是我的公司创build的证书,在应用程序中使用是无效的。 我没有给我使用MMC和IE安装的软证书。 我们能够将我们开发机器的软件证书用于承载应用程序的Windows 2008服务器。 我做了什么: 我试图将根CA复制到公司证书根目录所在的当前用户和位置机器账户存储的每个文件夹位置。 我的问题: 我可以在其他地方错误地处理证书吗? 是否有可能阻止其他证书使用的本地/组策略? 对于IIS,从2008年起,Windows 7上应该做什么(如果有的话)不同? 谢谢你的帮助。

IIS 7从HTTP到HTTPS的redirect失败,并在URL中带有&符号

Windows Server 2008 R2 SP1上的IIS 7 我在web.config中添加了以下规则,将所有传入请求redirect到HTTPS <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> </rule> 当&符号(&)出现在URL或文件名中时,它将失败。 我已经看过一些提供的解决scheme,并且对通过registry允许特殊字符不感兴趣。 有没有一种方法来执行重写编码与&或%26之前的redirect规则的&符号? HTTPSredirect规则是否使用原始URL或新重写/编码的版本?

请求的0.01%的IIS 500.19错误

我们已经部署了一个简单的ServiceStack应用程序,在IIS 7中提供了Podcast RSS-feeds。清理IIS日志,我们发现less量的请求得到一个HTTP 500.19错误代码。 在约55万个日常要求中,约有600个失败,500.19。 这意味着我们成功地提供了99.9%的请求的RSS。 我仍然很好奇为什么我们失败了0.1% 。 通常由于configuration无效而发生500.19。 只有0.1%的请求,configuration如何失败? 我还没有能够手动重现错误,所以我没有HResult代码 。 这在IIS日志中也不存在。 但是,IIS日志中的sc-win32-status是64 一些细节: 应用程序的内部日志logging不会报告任何错误,表明请求永远不会到达我们的代码。 这个错误通常发生在最大的RSS(740KB gzipped)上,但也发生在较小的(140KB gzipped)上。 失败的请求通常来自移动客户端(IOS,Android),这并不像通常在移动设备上消费的播客那么多。 应用程序部署在6个节点上,使用BigIP进行负载平衡。 configuration文件不是跨节点共享的。 所有节点的0.1%错误率是相等的。 我们有输出caching在IIS中激活(但没有内核caching)。