我对运行IIS 7.5的服务器的web.config做了一些改变,提高了性能(主要是前端)。 一个第三方testing工具说,该网站正在运行“PHP / 5.3.10,ASP.NET”,如果内存服务,它是ASP.NET 4.5 我认为这是由于奇怪的技术组合(例如在IIS上运行PHP),但触摸任何东西都会让我感到紧张。 我添加了(仅)从H5BP IIS服务器configuration中过期头文件和gzip的指令 我想我在2013年1月15日下午添加了这些指令。从Pingdom性能testing工具的网站testing历史可以在这里find 。 您可以看到传输大小急剧下降的位置(单击历史logging选项卡)。 从那时起,似乎每次我testing它时,不同的文件(通常是像CSS和JS这样的资源)都不用gzip提供,没有任何押韵或原因。 有时候一切似乎都是用gzip来完成的,有时几乎没有任何东西可以压缩,但通常在中间的某处(正如你在历史中所看到的)。 到底是怎么回事? 我该如何解决? 这个网站没有得到积极的发展,而一些额外的数据已经在15日之后添加到页面(我添加了Google Analytics插件脚本以改进跟踪),没有什么可以解释这么大的变化和不一致。 我最好的猜测是它与压缩的CPU资源有关,这个问题似乎很接近: 为什么gzip压缩在IIS中的效率会有所不同?
它显然使用更多的内存(与花哨的主题),但从我已经准备好,IIS7.5function齐全。 我用它作为开发服务器,但是一个完整的prod服务器呢?
我们有一个运行IIS 7.5的Windows 2008 R2盒子,由于安全性的要求,我们需要将万维网发布服务设置为在IUSR下运行。 我可以给予IUSR文件夹权限就好了。 但是当我尝试selectIUSR帐户运行万维网发布服务时,我收到一条消息,说用户无法find。 目前我们的服务正在“本地系统帐户”下运行。 任何帮助将不胜感激。
我有一个网站,谁使用模拟。 当我的匿名用户设置为IUSR并将应用程序池标识设置为NetworkService时,某些页面不显示。 我得到一个空白页面,没有错误信息。 如果我把匿名用户作为ApplicationPoolIdentity,并把池标识localSystem它工作正常。 如果我把匿名用户的pipe理员用户它工作正常。 我知道我有一个安全问题,但我不知道什么是我需要设置安全策略为每个工作正常的文件夹。 我把对网站文件夹的读/写访问权限给IUSR,IIS_IUSRS,networking服务和我的模拟用户组。 有人知道我的许可是什么意思吗? 我也发现这篇文章,但没有成功.. http://blogs.iis.net/webtopics/archive/2009/03/13/changes-to-application-pool-identities-in-iis-7-5- beta.aspx
我有几个使用集成Windows身份validation和Kerberos委派的经典ASP站点。 它们可以在活动服务器(最近移动到Server 2008 / IIS7服务器)上正常工作,但不能在我的开发PC或我的开发服务器上正常工作。 两台机器上的IIS都是通过从旧机器导出的IIS Web部署工具包configuration的; 部署没有完美的工作,我不得不修补一点让网站的工作。 在任何一台机器上本地访问应用程序时,都能正常工作。 当从另一台机器访问时,用户将被用户名/密码对话框提示,无论您input什么内容,最终都会导致401(未授权)错误。 我已经尝试过将这些机器的configuration与类似的活动服务器进行比较(所有这些工作都正常),并且它们看起来大体相当(假设IIS7.5(Windows 7 / Server 2008 R2)上还没有活动的服务器。 这些应用程序运行在一个通用的应用程序池中,该应用程序池使用一个特殊的域用户作为身份标识 – 该用户在实时和开发机器上具有相似的权限 在IIS6平台上,为了启用Kerberos委派,我需要为这个用户设置一些SPN,并且他们仍然在位(即使我不相信由于内核模式身份validation,他们已经不再需要IIS7 +), 此外,在Active Directory中为这个帐户启用了Kerberos委托,就像我正在处理的每台机器一样。 我正在考虑部署可能更改/无法对IISconfiguration进行更改从而导致此问题的可能性。 也许一个完整的重build(减去另一个Web部署尝试)将解决这个问题,但我宁愿修复(从而理解)当前的问题。 任何想法到目前为止? 我刚刚尝试解决这个问题,并取得了一些进展,但我还没有完全解决。 我发现,如果我通过IP地址访问网站(比通过NetBIOS名称),我得到相同的对话框,除了它接受我的凭据,从而应用程序的工作 – 不是一个修复,但一个有用的步骤。 更有趣的是,我发现,如果我禁用内核模式身份validation(在IISpipe理器>网站>身份validation>高级设置 ),应用程序工作完美。 我的模糊的理解是,这是有效的工作在IIS7以前的方式。 一个合理的短期解决scheme,但是在这个问题上考虑以下来自IIS的明确build议: 默认情况下,IIS启用内核模式身份validation,这可能会提高身份validation性能并防止configuration为使用自定义身份的应用程序池的身份validation问题。 最佳做法是,如果您的环境中使用了Kerberos身份validation,并且应用程序池configuration为使用自定义标识,则不要禁用此设置。 显然,这不是我的应用程序应该工作的方式。 那么问题是什么?
我们正在尝试通过VS2010利用Web Deploy来简化发布过程。 我们希望能够快速回滚任何破损的版本,所以我们为每个版本创build文件夹: C:\ WWW \ 1.0.0 C:\ WWW \ 1.1.0 到目前为止,我在本地发布站点,将文件复制到我们服务器上的新版本文件夹,然后手动将站点的物理path更新到IIS中的新文件夹。 由于该站点指向特定版本的文件夹,因此我无法在该站点上使用Web部署,结果会覆盖现有文件。 我对覆盖问题的解决scheme是创build一个指向根文件夹(C:\ www)的部署站点,并使用web部署来创build新版本。 下一步是更新网站的物理path,但我无法find一个合适的方法来完成这一点。 我知道在生成后事件中执行一个命令,但是由于动词选项要同步,转储和删除,所以我在Web部署文档中遇到了一些麻烦。 发布完成后,我只需要IIS站点指向新的物理path。 这可能吗? 我打开其他选项(如本地发布,然后执行batch file)。
我们的图片服务器出现了一些问题。 这是运行IIS 7.5的Win 2008,它只提供静态内容:图像。 它已经运行了很长一段时间,直到最近当我们禁用输出caching时,我们注意到它启用意味着它发送了无caching主机头到客户端(迫使他们每次从服务器获取图像) 我们已经读了很多关于它的内容,似乎IIS正是这样工作的 – 无论是使用输出caching还是使用caching主机头。 无论如何,已经禁用了输出caching,我们现在经历了5分钟的随机间隔,其中所有的请求都得到503服务不可用。 在此期间,“文件caching”性能计数器错开(既不增加也不减less),并且在这段时间之后所有的caching都被刷新。 您可能会发现我谈论caching很奇怪,因为我们禁用了输出caching。 事情是我们改变了registry中的ObjectTTL参数,所以我们caching文件3分钟(这工作得很好,我们的磁盘I / O显着下降) 所以,即使输出caching被禁用,我们仍然caching大量的文件 – 如果我们可以摆脱随机503这将是完美的: – D 在这503个间隔期间,我们在Windows事件日志中没有收到任何消息,所以我们很难确定要做什么。 任何想法都非常欢迎:-)
我们有一个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声称绑定是重复的。 这就是导致问题的那个特定的绑定。
我有3个位置,每个都有自己的服务器(s1.mysite.com,s2.mysite.com,s3.mysite.com)。 这些都是Site:app.mysite.com的一部分。 我希望使用ARR将请求转发到服务器场中的特定服务器,具体取决于请求来自哪个位置(来自站点1的请求转到其位置本地的s1.mysite.com),同时允许故障转移在特定服务器出现问题的情况下,其他人之一。 我知道如何通过DNS名称(s1.mysite.com)将基于查询string的请求分发到特定的服务器,但如果该服务器closures,则该名称将不起作用。 我可以使用Microsoft ARR以这种方式实现这种减less和分配工作吗?
我的本地networking上有一个用于开发的IIS Web服务器,我想禁用所有的caching机制。 IIS似乎是caching一切,即使当我禁用输出caching像这样: 我已经在我的web服务器的根目录中设置了上述内容。 奇怪的是,在开始caching之前,我需要多次请求一个文件。 我知道它不能成为客户端相关的问题,因为我检查他们每次都从服务器请求一个新的副本。 我做了什么的例子: 我创build一个HTML文件 我在浏览器中导航到服务器上的上述HTML文件(例如http://example/path/to/file/test.html ),并刷新页面几次。 我更改了磁盘上的HTML文件 我再次在浏览器中刷新页面,但仍然看到旧的HTML文件,而不是我在step 3保存到磁盘的新文件。 IIS版本:7.5,Windows版本:Windows 7 任何人都可以帮我吗?