Articles of iis 8.5

如何debugging错误503没有跟踪?

我正在与一个C#后端大型Web应用程序工作。 在开发设置中,应用程序通过我的机器上的IIS 8.5实例提供。 从最近开始,我不能再login了。 我仍然得到login表单,但是一旦我input用户数据后单击“ login” ,Chrome的networking视图显示请求已经被服务器返回错误503 / 服务不可用响应。 我为IISpipe理器中的整个站点的所有状态码在200到999之间启用了“失败的请求跟踪”,并且在IISpipe理器的站点栏的configuration设置中启用了失败的请求跟踪。 与检索login表单相关的所有请求都已正确logging到C:\inetpub\logs\FailedReqLogFiles\W3SVC1 ,但单击“ login”button时不会显示单个请求日志文件。 根据公司的政策,我没有任何访问处理login请求的代码的来源,而且所有现在和将来的两个星期都在他们的暑假 – 但是由于没有请求日志,我以某种方式怀疑,特定的请求永远不会足够接触我们的Web应用程序。 我怎样才能找出发生什么事情导致503响应?

启用HttpCompression

我试图为Json文件启用HttpCompression ,但IIS中的configuration编辑器选项中缺lesssystem.WebServer/httpCompression 。 我的configuration应用在我的网站的Web.Config中,并且在我的开发计算机(Windows 10 – IIS 10)中工作正常,但是当部署到testing服务器时,它不起作用。 这些是我们的Web.config设置: <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files" staticCompressionIgnoreHitFrequency="true" dynamicCompressionDisableCpuUsage="70" dynamicCompressionEnableCpuUsage="50"> <remove name="gzip" /> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" dynamicCompressionLevel="4" /> <dynamicTypes> <remove mimeType="text/*" /> <remove mimeType="message/*" /> <remove mimeType="application/javascript" /> <remove mimeType="application/json" /> <remove mimeType="image/svg+xml" /> <remove mimeType="*/*" /> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/javascript" […]

如果启用了SSL,则无法连接到IIS 8.5 FTP

我有一个运行在Windows Server 2012上的IIS 8.5的FTP网站。如果禁用SSL,我可以很好的连接。 但是,如果我启用SSL,服务器不断发送奇怪的答复。 这是来自FileZilla的日志: Status: Connecting to XXXXXXX:21… Status: Connection established, waiting for welcome message… Response: 220 Microsoft FTP Service Command: AUTH TLS Response: 502 AUTH command ok. Expecting TLS Negotiation. Command: AUTH SSL Error: Could not connect to server 注意它如何说“502 AUTH命令正常”。 我不是FTP的专家,但从我在网上看到的,状态码应该是234而不是502。 这里发生了什么? 更新 : 我对这个问题有点创意。 首先,我尝试在自己的笔记本电脑上连接到自己的服务器。 这已经工作了一年多,所以难怪它工作。 然后,我将笔记本电脑移到工作场所,并将其连接到networking。 我试图再次连接到我自己的服务器,我得到了同样的错误,如上所述。 我把我的笔记本电脑从公司networking上断开,然后立刻再次尝试,这次是通过我手机的LTE连接。 你猜怎么了? […]

IIS删除服务器信息头

我写了下面的URL重写模块来删除响应头中的服务器版本信息。 <rewrite> <outboundRules> <rule name="Remove Server header"> <match filterByTags="None" serverVariable="" pattern=".+" /> <action type="Rewrite" value="" /> </rule> </outboundRules> </rewrite> 这在正常stream程中工作正常。 但是,当一个错误页面(如500或404)呈现时,我能够看到IIS版本信息。 我需要知道如何处理这个错误页面的重写。 任何build议,将不胜感激

如何configurationWeb部署以授予单个应用程序的发布权限?

我们有一个新用户需要能够将特定的网站部署到特定的应用程序目录(默认网站/ WebX),但我似乎无法configurationWeb部署在IIS上,而不让他们能够发布到所有目录(例如默认网站/ WebOther)。 我们如何限制权限以允许用户只部署到特定的应用程序?

具有IIS SNI的Apache反向代理返回404

我使用一个Apache反向代理到一些IIS站点。 当使用IIS 8.5和SNI时,当我将应用程序池和站点脱机时,我得到了404s。 传统上不会有任何回应,连接将会超时。 我会得到一个503代理,我用它来显示一个错误页面。 如何更改IIS中的行为以便在这些情况下不作出响应以保持这种工作状态,或者find解决此问题的更好方法? 编辑:如果我停止IIS中的所有网站,我可以恢复旧的行为,但这不是一个真正的解决问题。

如何正确设置IIS 8应用程序池的内存限制而不经常触发回收?

我试图限制IIS 8.5中的应用程序池使用的内存。 我的问题是,如果我把一个看起来比典型的内存使用量大得多的限制,几分钟就会回收一次。 上下文信息如下。 最初,我已经从用户界面的8GB的限制和我的applicationhost.config看起来像这样: <add name="AppPool" autoStart="true" managedRuntimeVersion="v4.0" startMode="AlwaysRunning"> <processModel idleTimeout="00:00:00" /> <recycling logEventOnRecycle="Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory"> <periodicRestart memory="8192000" time="00:00:00"> <schedule> <clear /> <add value="01:00:00" /> </schedule> </periodicRestart> </recycling> 读了这篇文章 ,我意识到价值可能是无效的,因为它表示最大价值4,294,967 KB。 所以,我把这个值(来自用户界面),它正确地反映在configuration文件。 如果我删除了内存限制, w3wp进程不会超过2GB的已用内存,并且不会发生回收。 通过阅读事件查看器(源= WAS)确认回收的原因(达到内存限制)。 问题:如何在没有回收问题的情况下configuration内存限制?

我如何修改php动词web.config

我有一个需要为PHP启用PUT请求的项目。 默认情况下, GET , HEAD和POST被启用,但我需要从我的web.config启用PUT动词,而不是从IISpipe理器。 我怎样才能做到这一点?

了解IIS 8.0使用正则expression式将https的入站规则重写为httpredirect

我设法使用这个答案为我的网站configuration一个重写规则: <rule name="Redirect from non www" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^example.com$" /> </conditions> <action type="Redirect" url="https://www.example.com/{R:0}" redirectType="Permanent" /> </rule> <!– this is the rule I am interested in –> <rule name="Redirect from non https" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" /> <add input="{HTTP_HOST}" pattern="^www.example.com$" /> </conditions> <action type="Redirect" url="https://www.example.com/{R:0}" redirectType="Permanent" […]

使用apache 2.2作为Microsoft Team Foundation Server 2015的反向代理的问题

我正在使用Apache 2.2来访问configuration为使用NTML的Microsoft Team Foundation Server 2015。 我为此configuration的configuration如下: ProxyPreserveHost On ProxyPass /tfs/ http://tfs2015.mdlp.es:8080/tfs/ ProxyPassReverse /tfs/ http://tfs2015.mdlp.es/tfs/ 显然这个configuration在只有一个用户的情况下工作得很好。 当第二个用户连接时,它以用户先前login的forms出现。 我想这是由于连接池apache维护在后端服务器上,并且它就像TFS,一旦这个keepalive连接上的用户被authentication,依靠第一个请求来了解用户。 至于阿帕奇将所有的请求转发到已经创build的池,这将混合用户会话在同一个保持连接。 在这一点上,我试图使用ProxyPass上的disablereuse = On指令,以避免使用连接池,但这种方式NTLM身份validation不起作用。 只是想知道是否有人能够解决这个问题,这可能与Team Foundation无关,而与IIS无关。 编辑: 至于我有一个Apache 2.0安装在相同的反向代理我试图configuration他们以同样的方式,它工作正常。 所以有一种方法可以限制apache 2.2上的proxypassfunction,像apache 2.0一样行事?