2022-11-07 298
问题1:未启用父路径
microsoft® windows nt® server
windows server 2003
Server.MapPath() 错误 ‘ASP 0175 : 80004005’
不允许的 Path 字符
/0709/dqyllhsub/news/OpenDatabase.asp,行 4
在 MapPath 的 Path 参数中不允许字符 ‘..’。
许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。
在IIS中属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。
HTTP 错误 404 – 文件或目录未找到。
在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。
HTTP 错误 401.2 – 未经授权:访问由于服务器配置被拒绝。
匿名身份验证
IIS 创建 IUSR_计算机名称帐户(其中计算机名称是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
基本身份验证
使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在网络间进行发送。
Windows 集成身份验证
Windows 集成身份验证比基本身份验证安全,而且在用户具有 Windows 域帐户的内部网环境中能很好地发挥作用。在集成的 Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的 Windows 身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证。
摘要身份验证
摘要身份验证克服了基本身份验证的许多缺点。在使用摘要身份验证时,密码不是以明文形式发送的。另外,你可以通过代理服务器使用摘要身份验证。摘要身份验证使用一种挑战/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。
.NET Passport 身份验证
Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的 Web 站点和服务时更加安全。启用了 .NET Passport 的站点会依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中心服务器不会授权或拒绝特定用户访问各个启用了 .NET Passport 的站点。
根据需要配置不同的身份认证(一般为匿名身份认证,这是大多数站点使用的认证方法)。认证选项在IIS的属性->安全性->身份验证和访问控制下配置。
HTTP 错误 403.6 – 禁止访问:客户端的 IP 地址被拒绝。
IIS提供了IP限制的机制,你可以通过配置来限制某些IP不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。
进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。
HTTP 错误 401.1 – 未经授权:访问由于凭据无效被拒绝。
由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。
控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。
HTTP 错误 401.3 – 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。
进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设置这里不再馈述。
HTTP 500 – 内部服务器错误
IWAM账号是安装IIS时系统自动建立的一个内置账号。IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。系统对IWAM账号的密码同步工作有时会失效,导致IWAM账号所用密码不统一。
如果存在AD,选择开始->程序->管理工具->Active Directory用户和计算机。为IWAM账号设置密码。
运行c:”Inetpub”AdminScripts>adsutil SET w3svc/WAMUserPass +密码同步IIS metabase数据库密码
运行cscript c:”inetpub”adminscripts”synciwam.vbs -v 同步IWAM账号在COM+应用程序中的密码
HTTP 错误 404 – 文件或目录未找到。
IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。
在IIS中属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。
在 IIS 6.0 中,默认设置是特别严格和安全的,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。
配置数据库属性实施的最大 ASP 张贴大小为 204,800 个字节,并将各个字段限制为 100 KB。在 IIS 6.0 之前的版本中,没有张贴限制。
找到windows”system32″inesrv”下的metabase.xml,
打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K
然后重启iis admin service服务
把它修改为51200000(50M)
在详细信息窗格中,单击要启用或禁用的 web 服务扩展。
要启用已禁用的 web 服务扩展,请单击“允许“。
要禁用已启用的 web 服务扩展,请单击“禁止“。
单击“确定“。
要以编程方式启用或禁用 web 服务扩展,请参阅 websvcextrestrictionlist。
在“回收“选项卡上,清除“回收工作进程(分钟)“复选框。
单击“确定“。
单击“目录“选项卡,然后单击“配置“。
单击“选项“选项卡。
在“应用程序配置“部分,选择“启用父路径“复选框。
单击“确定“。
调整进程的内存配额
替换进程级令牌
为本地计算机上的帐户分配用户权限
从“开始“菜单中,指向“管理工具“,然后单击“本地安全策略“。
展开“安全设置“,双击“本地策略“,然后双击“用户权限分配“。
在详细信息窗格中,双击要更改的策略。
单击“添加用户或组“。
在“输入对象名称来选择“框中,输入用户或组的名称。
单击“确定“。
单击“性能“选项卡。
在“请求队列限制“部分中,选中“核心请求队列限制为“复选框,然后键入队列请求的最大数量。
单击“确定“。
如果在 www 服务中检测到 503 错误,则问题可能是 iis 已启动了快速失败保护,因为在给定一段时间内为应用程序池分配的许多工作进程都处于不正常的运行状态。要解决此问题,请增加启动快速失败保护前出现的故障数量或时间。您应该测试应用程序是否存在内存泄漏或者其他使工作进程处于不正常状态的问题。
单击“运行状况“选项卡。
在“失败数“框中,键入在禁用工作进程之前要检测的工作进程失败数量。
在“时间段“框中,键入累积失败总数的时间长短(分钟)。
单击“确定“。
注册了子验证组件 iissuba.dll。
启用了 anonymouspasswordsynch 配置数据库属性(设置为 true)。
对于 iis 6.0 全新安装和从配置了子验证的 iis 安装升级到 iis 6.0,为满足以上要求所采取的操作是不同的。
双击“网络连接“。
右键单击“本地连接“,然后单击“属性“。
单击“高级“选项卡。
如果不想使用 icf,请确保没有选中“通过限制或阻止来自 internet 的对此计算机的访问来保护我的计算机和网络“复选框,然后单击“确定“。
如果想使用 icf,请确保选中了“通过限制或阻止来自 internet 的对此计算机的访问来保护我的计算机和网络“复选框,然后单击“设置“。
在“服务“选项卡上,启用要允许客户端访问的服务。
在启用服务之后出现的“服务设置“对话框中,执行以下某个操作:
如果要在正在使用的同一台计算机上启用某项服务,这时正确的计算机名称已经填入。单击“确定“。
如果要在网络上的另一台计算机上启用服务,请键入要启用的主持此服务计算机的名称或 ip 地址,然后单击“确定“。
重复第 7 步和第 8 步,直到希望客户端可访问的服务都已启用。
如果 uncusername 为空,则将请求用户的凭据(用于已验证请求的一组验证的凭据或用于匿名请求的 iusr_computername 凭据)作为访问的用户标识发送到远程共享。
注意不再将 uncauthenticationpassthrough 配置数据库项用于 unc 验证。
[pagesplitxx]
unix
张贴限制:aspmaxrequestentityallowed 配置数据库属性实施的最大 asp 张贴大小为 204,800 个字节,并将各个字段限制为 100 kb。在 iis 6.0 之前的版本中,没有张贴限制。
serverlistentimeout 配置数据库属性不再存在: serverlistentimeout 已被以下配置数据库属性代替:
connectiontimeout:此属性指定在断开非活动连接前服务器等待的时间(以秒为单位)。
minfilebytespersec:当 iis 响应客户端请求时,minfilebytespersec 属性决定了客户端收到整个响应的时间长短。如果客户机接收整个响应所花费的时间太长,则内核模式驱动程序 http.sys 会根据超时值终止连接。
headerwaittimeout:在客户端连接到 web 服务器时,会给客户机指定发送请求的所有标题的时间限制(用结尾的双 “r”n 来区分)。如果在 headerwaittimeout 指示的时间内没有收到请求的完整标题集,则 http.sys 将重置该连接。您可以对 headerwaittimeout 的值进行配置。
标题大小限制:默认情况下,http.sys 仅接受标题小于 16 kb 的请求。这意味着,如果 http.sys 收到的 16 kb 中不包含结尾的 <crlf><crlf> 序列,则 http.sys 认为请求是恶意的并将终止连接。通过调整 maxrequestbytes 注册表项中的值,您可以更改标题大小限制。
如果 iis 必须访问 unix 或 linux 系统上的文件,除非在 iis 中启用了网络文件系统 (nfs) 支持,否则文件名大小写区分可能会引起问题。
单击“服务“选项卡,选中“以 iis 5.0 隔离模式运行 www 服务“复选框,然后单击“确定“。
要启动 www 服务,请单击“是“。
网络上有关iis的问题和相关解决方案,多不胜搜,但很多都比较零散,没有系统的解决方案;另外,有些解决方法,似是而非,不能找到其中的问题关键点,本人平时对于服务器的应用上也有点实践,因此,今天稍稍总结一点平时遇到地问题和解决方法,特别是对iis的特殊权限引起问题、iis应用程序池假死问题和比较罕见的iis重启命令和自动重启办法。其它相关问题,继续关注本博。
一、2003应用程序池自动死了,不能恢复了,一直出现 Service Unavailable 常见方法如下。
1:没有打SP1补丁的时候会出现这个IIS6.0假死问题,但现在微软都在自动更新里面出补丁了,一般你打好最新补丁后是不会出现此问题了。(所以现在的IIS假死与这个关系不是很大)
2:从IIS6.0开始CPU资源都在应用池里面限制了,不象以前的IIS.5。所以假死的池的缘故就是池被拉死,你在网站打不开的时候可以看到你的某个应用池是禁用的,上面出现一个红叉。你鼠标右键启动网站又会自动恢复。 这个原因:大概是以下几个因数造成的。
(1):你限制了应用池的资源,限制得太小 比如:50这样或更少更多一点,这个时候如果你这个池下面的网站占用CPU太高,比如超过50% 那么5分钟后他就自动死了,手工默认建立的应用池默认是超过资源不操作。
出现上面这个情况解决方法:1:不限制CPU资源,(这个是不可取的,不限制资源,有的程序有BUG占用资源厉害了的,服务器都会被拉死,你可能都无法操作服务器。)2:在超过资源那里选择关闭,这个关闭默认是失败5次,90秒内恢复,一般默认就可。网站能自动恢复,这个关闭:不是永久关闭,意思是超过资源关闭,然后在某时间内自动恢复池。不操作就是不恢复,这个是很多人的误区。
(2):内存限制 在IIS6.0应用池上面有虚拟内存和最大内存限制,如果你设置了这个。那么网站访问量大了 也会出现假死,所以不建议设置这里。默认就可。
3:就是服务器自身内存太小,网站运行当然需要使用到内存了,当内存不够的时候应用池也会死掉变成禁用。那么只有等内存全部释放出来才能恢复应用池了。出现这个情况:那么你就要考虑加内存或者检查到底是什么程序占用了内存了。比如MSSQL数据库,这个可是吃内存得大户啊,最好别和WEB服务器同时一个服务器上。很多人用1G内存做 2003系统,2003NET结构是很占用内存的,所以做服务器选2003还得把内存加到2G或更高才好。 内存不够上面 2点讲到的,是没办法操作了,也无法自动恢复。
4:就是ACCESS数据库太大或查询太多,这个也会出现把IIS拉死,解决方法;修复ACCESS数据库,或尽量少用ACCESS数据库,升级至sqlserver数据库;或者在技术方面革新,像现在有些网站系统,风讯、动易等cms;pjblog、zblog等博客程序,都支持生成静态功能.
5:不同网站用不同应用池:根据你自己实际情况而定,站点大的最好独立一个应用池,限制他的资源超过了自动回收,看上面(1)讲到的,这样就不影响其他站点。中型站点:多个网站共用一个应用池,比如5个站点用一个池,设置他资源时间等等。这样他们就算超资源了也不影响其他应用池的网站。
6:设置回收时间:很多人以为设置回收池越短越好,其实是错误的,每次回收当然是把内存回收回来了,但加重了一次服务器的负担,当服务器比较繁忙的时候,有可能导致其他应用池死。所以建议设置共1000就行了。其他独立池按照他网站流量而设置 可以设置600 也行,共用的不建议设置太短。
7:网站后台过不了多久自动退出又要重新登陆:这个情况就是你设置回收时间太短了,按照 6点设置吧。 不要设置什么20分、30分这样的,这样不好的。另外一个原因就是和站的响应设置时间有关,设置得稍长些。
8:windows 2003系统iis6访问本机的站点时提示“Service Unavailable”;
查看iis的应用程序池,状况提示为:未指定错误,同时应用程序池自动停止运行;
用事件查看器查看系统错误日志,发现如下提示:
———————————–
应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
)的 本地 激活 权限授予用户 NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20)。可以使用组件服务管理工具修改此安全权限。
解决方法,给NETWORK SERVICE 加上访问iis服务的权限,具体方法如下:
点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电脑”-“DCOM”选项,
选择其下的“IIS ADMIN SERVICE”,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号“NETWORK SERVICE ”,给该帐号赋予“本地启动”和“本地激活”的权限,重新启动IIS之后再访问同一站点,则一切正常。
9:重启IIS中的特定应用程序池命令和自动重启的方法
在操作系统是Windows server 2003 SP1+的情况下,可以用以下命令部分重启IIS应用程序池:
cscript.exe c:\windows\system32\iisapp.vbs /a “DefaultAppPool”
其中/a 代表alternatively,”DefaultAppPool”代表应用程序池的实例名。如果要设置自动重启这个应用程序池,可以尝试放在批处理中,用计划任务调用此批处理即可。很多人觉得计划任务不安全,都要禁掉,事实上,计划任务的不安全是建立在其它方面不安全的前提上的,如果由于其它方面的不安全,被放入执行程序,计划任务执行,这和计划任务没有直接关系。当然,关掉,是会减少一些安全隐患,这是不错。
原文链接:https://77isp.com/post/12386.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2023-01-07
网站技术 2022-11-26
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
小游客游戏攻略网游戏攻略网 2024年07月26日
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
扫码二维码
获取最新动态