win2003服务器.NET+IIS环境常见问题排障总结_实用技巧

你是否经常会遇到以下的拦路虎,当你兴致勃勃地把调试好的程序发布到WEB服务器时,以下错误就出现了:

1、无法找到文件(404)白底黑字

2、没有权限访问该文件(403)白底黑字

3、直接弹出来一个要输入帐号密码的框框,然后你对着屏幕说:什么密码。

4、黄底黑字+红字的错误提示页(.Net)

5...

这些东东几乎占据了.Net+IIS搭建环境的绝大部分错误。

有时我们无意中覆盖一个“不起眼”的文件,上述错误就会蹦出来。碰巧该应用又是非常重要的应用,这足够让你接下来的一个小时冒冷汗。

不过光冒冷汗没用,引用一句话:错误不被你解决,你就有可能被错误解决。我们还是淡定下来解除这些错误吧。我们一项项的来:

1、无法找到文件(404)白底黑字

有以下这些可能性:

第一,你所访问的路径确实没有这个文件,或许你记错了位置,但它的确不存这个文件。解决办法:找到这个文件,去IIS所指向的目录中一层层找这个文件,并确认它存在。

第二,你的IIS没有认出来这个文件,没有该文件的解释器(IIS网站属性——主目录——配置——应用程序扩展)。IIS没有该程序的解释器,然后撒一个谎说没有这个文件。解决方法:打开(IIS网站属性——主目录——配置——应用程序扩展),添加应用程序的相关解释器。

第三,你有某个UrlRewrite在起作用,将你输入的URL给重定向到一个不存在的文件或目录。

。。。

2、没有权限访问该文件(403)白底黑字

有以下这些可能性:

你的NTFS文件夹没有给予WEB用户读取的权限。解决方法:打开计算机管理——本地用户和组——用户——添加用户,在这里添加一个用户,请记住该用户不要属于任何组,如下图所示:

498)this.width=498;">

添加新的用户时,密码先用记事本打出来,添加完成后,记事本不要关闭,这个密码在IIS里配置时还需要用到一次.

498)this.width=498;">

用户不需要属于任何组,不继承任何权限.

之后,我们开始给WEB文件夹赋予权限了.顺便提一下,给WEB文件夹配置权限这个步骤很重要,见过很多站点被黑都是因为文件夹权限设置不当,要么过大,要么根本没有一站一用户,有些站点直接给EveryOne用户最大权限,甚至有些站长认为NTFS磁盘格式"根本没用",直接把网站所在的磁盘做成 FAT32的,还有很多的虚拟主机商为了图省事,虽然做到了一站一户(软件生成),但是配置的权限过高,因为配置低权限有时候会出现运行故障....后果可想而知.我们遇到问题不要慌,特别是安全的问题.

配置文件夹权限的操作方式是:在WEB文件夹上点右键,选择属性——安全;

为了安全,我们要保证网站文件夹的初始权限状态是这样的:

498)this.width=498;">

为防止逐步提权。网站所在磁盘及该磁盘中所有下属文件夹,除了你用于远程登录的最高管理员,其它的统统去掉。

我们要向该文件夹添加2个用户权限:一个是刚刚添加的用户,用于WEB访问该文件夹,一个是系统内置用户Network Service,用于.net组件在本机运行时访问。

498)this.width=498;">

给文件夹添加用户的方法之一是单击“添加”——“高级”——“立即查找”,从结果列表中选择目标用户。

添加这些用户进入列表之后,还不算完,点击“高级”,然后选择某个用户,点击“编辑”,给这个用户分配权限,要说的东西限于篇幅,在这里我只给2点参考意见:

(1)WEB文件夹的权限再大也不能大过这个底线:如下图所示:

498)this.width=498;">

498)this.width=498;">

请记住,“完全控制”,“遍历文件夹/运行文件”,“更改权限”,“取得所有权”这四个权限绝不能赋给WEB用户。

(2)请根据需要给子文件夹配置各种不同的权限。例如:给用于上传文件的文件夹写入、删除等一系列权限,但为防止用户通过程序本身的上传机制上传木马,则应该在IIS中配置该文件夹执行权限为“无”:

498)this.width=498;">

498)this.width=498;">

程序中合法上传文件的文件夹请设置执行权限为“无”

3、直接弹出来一个要输入帐号密码的框框

498)this.width=498;">

这个问题其实很简单,第二点中就有介绍,因为我们把WEB文件夹的权限给了自定义的用户,从而导致IIS的默认用户失去了该权限,我们打开IIS,在目标网站上点击右键——属性——目录安全性——身份验证和访问控制栏点“编辑”,出来如下对话框:

498)this.width=498;">

IIS有默认的用户名设置,所以我们要重新配置。

点击“浏览”,选择我们在第二步中新建的WEB用户,然后粘帖记事本中存放的密码,点击确定之后还要再粘帖一次,确定就可以了。

现在刷新页面看看,应该可以正常浏览了。

4、黄底黑字+红字的错误提示页

.net的所有错误如果没有被重定向到自定义页,所有的程序级错误都是诸如黄底+黑字或红字的错误信息,因为太常见,我就不截图浪费资源了,在这里,我只讲一下关于环境的,“Web应用程序当前不可用”,请打开IIS,有两个地方要修改:

1、右键网站属性,选择Asp.Net选项卡,在版本里选择正确的版本。

2、IIS主窗体左侧的“WEB服务扩展”中,选择相应的ASP.net扩展,并点击“允许”。

因为时间关系,且这篇文章老被意外打断,并且搜集证据,居然花了四天时间,效率可见相当之低!

以上四点,只是本人干活多年遇到的.Net+IIS环境主要环境问题汇总。希望大家多补充,不当之处恳请批评指正。
出处http://www.cnblogs.com/CoreCaiNiao/archive/2011/08/01/2123991.html

时间: 2024-11-02 06:38:58

win2003服务器.NET+IIS环境常见问题排障总结_实用技巧的相关文章

asp.net服务器上几种常见异常的解决方案._实用技巧

如下 (1)配置Asp.net站点ISS报出:服务器应用程序不可用.具体异常信息如下:  服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的"刷新"按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误信息可在 Web 服务器的系统事件日志中找到.请检查此日志项以查明导致该错误发生的原因. 我检查ISS上其他的配置.发现全部都是Asp编写的网站.属性中查看运行的环境竟是Asp.net Framework 1.1版

VS2015开发环境的安装和配置_实用技巧

一.简介 为了避免网上乱七八糟的过时介绍,避免误导初学者,这次把至2016年6月底C#开发环境各种版本的更新和安装过程重新整理一下贡献出来.目的是为了让对C#感兴趣的初学者知道到底哪些是过时的,哪些是最新的,哪些是别有用心的人故意给你挖的坑. 先说一下VS2015的官方网址(这是你了解VS2015以及它到底能做哪些事的第1步): https://www.visualstudio.com/en-us/visual-studio-homepage-vs.aspx 其中: VS2015 Enterpr

全面剖析.Net环境下的缓存技术_实用技巧

一. 概念1.1   缓存能解决的问题· 性能--将相应数据存储起来以避免数据的重复创建.处理和传输,可有效提高性能.比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度: · 稳定性--同一个应用中,对同一数据.逻辑功能和用户界面的多次请求时经常发生的.当用户基数很大时,如果每次请求都进行处理,消耗的资源是很大的浪费,也同时造成系统的不稳定.例如,web应用中,对一些静态页面的呈现内容进行缓存能有效的节省资源,提高稳定性.而缓存数据也能降低对数据库的访问次数,降低数据

先装VS再装IIS时出错的解决方法_实用技巧

原来在安装 Microsoft .NET Framework 软件开发工具包 (SDK) 或 Visual Studio .NET 之后,会创建 Internet 信息服务 (IIS) 映射,以便为 ASP.NET 的新文件扩展名及设置建立关联.如果在运行 SDK 或 Visual Studio 安装程序时没有安装 IIS,或是在运行 SDK 或 Visual Studio 安装程序之后卸载并重新安装了 IIS,那么这些设置将不正确.试图查看 ASP.NET 页时会遇到意外现象. 其中就包括,V

详解将ASP.NET Core应用程序部署至生产环境中(CentOS7)_实用技巧

将ASP.NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. 部署ASP.NET Core应用程序 配置Nginx 配置守护服务(Supervisor) 这段时间在使用Rabbit RPC重构公司的一套系统(微信相关),而最近相关检验(逻辑测试.压力测试)已经完成,接近部署至线上生产环境从而捣鼓了ASP.NET Core应用程序在CentOS上的部署

服务器读取EXCEL不安装OFFICE如何实现_实用技巧

前段时间用asp.net做了一简单的游戏管理后台,其中涉及到了上传Excel导入数据的功能,本来在本地开发实现都好好的,可已上传的服务器上就悲剧了.服务器是阿里云 Windows Server 2008 R2(X64),排查后发现服务器没装office这玩意,也就不会有OLEDB驱动程序,实在不想装office,特别是office 2010,看着庞大的体积就头疼,怎办? 百度谷歌一番发现,其实只要安装Microsoft Access 2010 数据库引擎可再发行程序包即可实现2010 Micro

asp.net 删除项目文件/文件夹IIS重启,Session丢失问题_实用技巧

仔细一看,SSO返回的ticket也不相同,才发现原来IIS重启了,最后解决方案如下: 新建一个类继承IHttpModule 复制代码 代码如下: /// <summary> /// Stops the ASP.NET AppDomain being restarted (which clears /// Session state, Cache etc.) whenever a folder is deleted. /// </summary> public class Stop

用程序修改IIS目录的Asp.Net版本_实用技巧

但是这些文章只介绍如何来创建.删除一个虚拟目录,却没有介绍如何修改一个虚拟目录的Asp.Net版本.如果机子上装有两个版本以.Net FrameWork,在创建时将使用IIS中默认使用的版本,而默认的版本又不是你需要的,那怎么办?在部署后手动修改?还是在部署时直接使用程序修改呢?  本文将介绍一个方法用于修改虚拟目录的Asp.Net版本.  ASP.NET IIS 注册工具  使用ASP.NET IIS 注册工具 (Aspnet_regiis.exe)可以方便地更新 ASP.NET 应用程序的脚

Win 2000下ASP.NET开发环境的配置_实用技巧

Win 2000下ASP.NET的配置 Win 2000(包括Professional,Server和Advanced Server)在默认情况下是不支持ASP.NET的.必须对它进行一个环境的配置. 客户端 SQL Server .NET 数据提供程序 Microsoft 数据访问组件 (MDAC) 2.6 或更高版本 对系统管理信息的访问 Windows Management Instrumentation (WMI)(在 Windows 2000操作系统一起安装)COM+ 服务 Windo