Troubleshooting Failed Requests Using Tracing in IIS 8.5
Make a Backup
You must make a backup of the configuration before doing the following tasks.
以管理员权限打开命令工具
C:\Windows\system32>%windir%\system32\inetsrv\appcmd add backup cleanInstall
BACKUP object "cleanInstall" added
Disable ASP
ASP must be disabled for this task. ASP is disabled only as an example and for the purposes of the tasks in this article.
这个设置,是在IIS的根目录上设置的
- Open IIS Manager and select the server.
双击ISAPI and CGI Restrictions.
- In the ISAPI and CGI Restrictions pane, select Active Server Pages. In the Actions pane, click Deny to disable ASP . Active Server Pages will show as "Not Allowed".
Enable Failed-Request Tracing
Step 1: Enable Failed-Request Tracing for the Site and Configure the Log File Directory
After you enable failed-request tracing, you need to configure where the log files will reside.
In this task, you will enable failed-request tracing for the Default Web Site and specify where to put the log files.
You will then configure the failure for which to generate failure logs.
选择目标website,然后在右侧的面板找到 Failed Request Tracing
Enable这个功能,可以设置日志文件的路径。默认路径是%SystemDrive%\inetpub\logs\FailedReqLogFiles
Failed-request tracing logging is now enabled for the Default Web Site.
Check the %windir%\system32\inetsrv\config\applicationHost.config file to confirm that the configuration looks as follows:
<site name="Lisa" id="4" serverAutoStart="true">
<traceFailedRequestsLogging enabled="true" />
</site>
Step 2 : Configure Your Failure Definitions
In this step, you will configure the failure definitions for your URL, including what areas to trace.
You will troubleshoot a 404.2 that is returned by IIS for any requests to extensions that have not yet been enabled.
This will help you determine which particular extensions you will need to enable.
For more information, see The HTTP status code in IIS 7.0, IIS 7.5, and IIS 8.0.
- In the Connections pane, expand the machine name, expand Sites, and then click Default Web Site.
Double-click Failed Request Tracing Rules.
具体的操作,还是去原文链接看
选择trace providers的时候,发现缺少了一部分provider (可以先restore回来,修改之后重新backup)
https://stackoverflow.com/questions/37607987/iis-failed-request-tracing-trace-providers
For some reason it seems your traceProviderDefinitions got cleared or something. to fix that you can:
- Make a backup of c:\Windows\System32\Inetsrv\Config\ApplicationHost.config just in case anything goes wrong with your XML editing.
- Open c:\Windows\System32\Inetsrv\Config\ApplicationHost.config in notepad.
Look for: , in my machine I have the following:
<traceProviderDefinitions>
<add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}">
<areas>
<clear />
<add name="Authentication" value="2" />
<add name="Security" value="4" />
<add name="Filter" value="8" />
<add name="StaticFile" value="16" />
<add name="CGI" value="32" />
<add name="Compression" value="64" />
<add name="Cache" value="128" />
<add name="RequestNotifications" value="256" />
<add name="Module" value="512" />
<add name="Rewrite" value="1024" />
<add name="FastCGI" value="4096" />
<add name="WebSocket" value="16384" />
</areas>
</add>
<add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}">
<areas>
<clear />
</areas>
</add>
<add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}">
<areas>
<clear />
</areas>
</add>
<add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}">
<areas>
<add name="Infrastructure" value="1" />
<add name="Module" value="2" />
<add name="Page" value="4" />
<add name="AppServices" value="8" />
</areas>
</add>
</traceProviderDefinitions>
可以设置追踪的错误200-999
Test and View the Failure Request Log File
In this task, you will generate a failed request and view the resulting trace log.
You already configured IIS to capture trace logs for http://localhost/*.asp requests that fail with an HTTP response code of 404.2. Now verify that it works.
打开%systemdrive%\inetpub\logs\FailedReqLogFiles\W3SVC1
.
Notice a few things here: When IIS writes the failed request log file, it writes one file per failed request.
A freb.xsl style sheet is also written, one per directory.
This helps when you view the resulting failure request log files (such as fr000001.xml above).
需要注意的是,生成结果的xml,只能用ie浏览器打开:C:\inetpub\logs\FailedReqLogFiles\W3SVC4\fr000007.xml
在Request Details界面,注意看verbose列中错误的信息
Restore Your Backup
Now that you have completed the tasks in this article, you can restore the backup of the configuration.
Run the following command with administrator user rights:
%windir%\system32\inetsrv\appcmd restore backup cleanInstall
注意事项
appcmd
https://www.cnblogs.com/chucklu/p/10319171.html
appcmd的使用,建议每次都用不同的backup名字。最好是用完之后删掉。千万不要还原了一个旧版本的,否则会把你IIS下配置的ApplicationPool还有Application覆盖掉。一些在上一次备份的时候创建的Application pool和Application会丢失。
如果已经删除了DefaultWebSite的话,访问http://localhost/test.asp会提示404错误
目前的localhost是指向另外一个自定义的网站的,比如网站名为Lisa
那么只需要将test.asp文件复制到Lisa站点的根目录下即可,然后会遇到404.2的错误
HTTP Error 404.2 - Not Found
The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server.
在C:\inetpub\logs\FailedReqLogFiles目录下找不到log
https://forums.iis.net/t/1183055.aspx?Failed+Request+Trace+logs+not+creating
If the FREB logs are not being created in general, it usually has to do with permissions problems - you will most likely find matching events in the Event Viewer logs stating it cannot create the file or folder for the log.
Have you made adjustments to the site's application pool user identity that it runs under, or the location of the log files?
发现如下错误
IISMANAGER_ERROR_LOADING_PROVIDER_TYPE
IIS Manager could not load type 'Microsoft.Web.Management.Features.SharedConfig.SharedConfigModuleProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' for module provider 'SharedConfig' that is declared in %windir%\system32\inetsrv\config\administration.config. Verify that the type is correct, and that the assembly that contains the module provider is in the Global Assembly Cache (GAC).
Exception:System.TypeLoadException: Could not load type 'Microsoft.Web.Management.Features.SharedConfig.SharedConfigModuleProvider' from assembly 'Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
at System.Type.GetType(String typeName, Boolean throwOnError)
at Microsoft.Web.Management.Server.AdministrationModuleProvider.GetModuleProvider(String userName, String connectionName)
Process:InetMgr
Connection:username here
路径是:C:\Windows\System32\inetsrv\Config\administration.config
我目前使用的IIS版本是10.0,然后和我同事的文件进行对比,发现我的文件里有一行是
<add name="SharedConfig" type="Microsoft.Web.Management.Features.SharedConfig.SharedConfigModuleProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
但是,我同事那边是 <add name="SharedConfig" type="Microsoft.Web.Management.Features.SharedConfig.SharedConfigModuleProvider, Microsoft.Web.Management.Extensions, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
log找不到的第二个原因
需要重新安装tracing
有了log之后发现缺少freb.xml
If the freb.xsl file is missing from the directory that contains the log files, then the nice interface won't show. Rather than trying to find a website with the latest freb.xsl, I found on this page:
http://blogs.iis.net/davcox/archive/2007/10/05/recovering-freb-xsl-after-deleting-it.aspx
that if you just delete the directory that the xml files are being written to (likely something like C:\inetpub\logs\FailedReqLogFiles\W3SVC1), then IIS will automatically recreate the directory and write the freb.xsl file when it next creates the next log file.
Troubleshooting Failed Requests Using Tracing in IIS 8.5的更多相关文章
- apache ab 结果Failed requests探究
Failed requests: 537 (Connect: 0, Receive: 3, Length: 268, Exceptions: 266) Receive:当客户端connect成功后,并 ...
- ab输出信息解释以及Failed requests原因分析
ab是apache自带的压力测试工具.ab进行的一切测试本质上是基于HTTP的.下面是对ab输出项信息的解释和出现Failed requests原因分析.测试实例:1. ab输出信息说明: 1 2 ...
- ab小工具的Failed requests多的问题
ab小工具的Failed requests多的问题 这个是PHP返回的length不一致造成的 是ab的bug 所以不用理会.. 测试并发写100就行了 一般100没错误
- Install Typical IIS Workloads
原文 Install Typical IIS Workloads Introduction The IIS 7.0 and above modular architecture is designed ...
- IIS 7.0 的 ASP.NET 应用程序生命周期概述(转载)
IIS 7.0 的 ASP.NET 应用程序生命周期概述更新:2007 年 11 月本主题介绍在 IIS 7.0 集成模式下运行以及与 IIS 7.0 或更高版本一起运行的 ASP.NET 应用程序的 ...
- IIS 7.0的集成模式和经典模式
IIS7.0中的Web应用程序有两种配置模式:经典模式和集成模式.经典模式是为了与之前的版本兼容,使用ISAPI扩展来调用ASP.NET运行库, 原先运行于IIS6.0下的Web应用程序迁移到IIS7 ...
- IIS经典模式与集成模式
在IIS7.0中Web应用程序有两种配置形式:经典和集成 经典模式 经典模式是为了与之前的版本兼容,使用ISAPI扩展来调用ASP.NET运行库,原先运行于IIS6.0下的Web应用程序迁移到IIS7 ...
- [Asp.net]IIS经典和继承模式
引言 由于要在客户那里部署项目,就研究了一下IIS中的集成和经典模式,这里做一些笔记.希望对您有所帮助. IIS7.0和IIS6.0 IIS7.0的web应用程序有两种配置模式:经典模式和集成模式.经 ...
- iis 经典模式和集成模式
IIS7.0中的Web应用程序有两种配置模式:经典模式和集成模式.两者区别大家可以参考下,根据实际情况选用. 经典模式是为了与之前的版本兼容,使用ISAPI扩展来调用ASP.NET运行库,原先运行于 ...
随机推荐
- BZOJ 2140 Tarjan
思路: 跟POJ有一道时限挺长的题一模一样 哦 POJ 1904 题解可以看这个(捂脸) http://blog.csdn.net/qq_31785871/article/details/52963 ...
- WCF WEB HTTP请求 WCF REST FUL
首先上点概念WCF 很好的支持了 REST 的开发, 而 RESTful 的服务通常是架构层面上的考虑. 因为它天生就具有很好的跨平台跨语言的集成能力,几乎所有的语言和网络平台都支持 HTTP 请求, ...
- Web-数据库-mysql篇
DDL创造 create 修改 alter 删除 dorp DML插入 insert 删除 delete 更新 updateDQLselect from where MySQL与JDBC 一.用 ...
- 微信小程序怎么开发(小程序开发文档)
微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 2017年1月9日~2018年1月9日,小程序正式上线一周年.上线以来,小程序不断地释放新能力, ...
- JavaEE学习记录
软件152谭智馗 一.JavaEE开发环境配置 1.准备以下压缩包 (1)JDK1.7:jdk1.7.rar (2)开发工具:eclipse-jee-mars-2 (3)项目管理工具:maven-3. ...
- MongoDB 博客截图之二
使用内置帮助help() 基本命令示例 来源:MongoDB基本管理命令 - 千与的专栏 - 博客频道 - CSDN.NET
- Nginx下修改php.ini后重新加载配置文件命令
修改php.ini后 如,我的 php.ini 文件是放在 /etc/php.ini php 所在目录是 /www/Linux/php-5.2.17 修改 php.ini 后要用 php-fpm 来进 ...
- 使用PyQT编写界面程序
使用PyQT比QT好在,可以随时监测函数正确性,省去编译时间 ! 这是个不小的节省. 1. PyQt: 打开对话框 msgbox = QtGui.QMessageBox(self)# 我的语句是 ms ...
- 杭电1003 Max Sum 【连续子序列求最大和】
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1003 题目意思: 即给出一串数据,求连续的子序列的最大和 解题思路: 因为我们很容易想到用一个max ...
- (转)基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍
http://www.cnblogs.com/wuhuacong/p/3344096.html 在前面介绍了一些关于最新基于MVC4+EasyUI的Web开发框架文章,虽然Web开发框架的相关技术文章 ...