我们已经开始在 Intranet 服务器上看到这样的情况:对于任何页面,服务器都只响应错误页面“HTTP/1.1 新会话失败”。看起来我们可以通过运行 IISRESET 来修复它,但这感觉就像我们只是在治疗症状。
该服务器是一台虚拟化服务器,在 Windows Server 2003 上运行 IIS6,具有 0.5Gb RAM。我们的 Intranet 是用 ASP 编写的,但我们的网站上也运行着 ASP.NET 2.0 应用程序。该站点设置为匿名和集成身份验证。
是什么导致 IIS 进入此错误状态?服务器是否会因请求而饱和,即我们需要横向扩展并将某些应用程序移动到另一台服务器上?
我看过KB210842但我不确定它是否适用,因为它适用于 IIS 4
即为此帐户设置读/写权限与在 IIS 中授予读/写访问权限有何不同(Windows 2003,如果我没有记错的话应该是 IIS6)。
问题是这样的:看起来我们进行了安全扫描,并且 IUSR 帐户的一部分失去了所有地方的写访问权限。一大堆遗留的 ASP 站点根本不喜欢这样......
我非常肤浅的理解是,在 IIS 控制台中拒绝写入访问就足以保护网站免遭某人将随机文件放入其中,而 IUSR 访问仅对运行服务器端的应用程序脚本有效,因此可以安全地授予写回访问权限。
编辑:
相关应用程序显然需要对其自己的 Web 文件夹具有写入权限,否则这根本就不是问题。问题是如何配置 IIS/应用程序以满足安全性并使其正常工作。我的第一反应是更改用于运行应用程序池的帐户。然而,它已经设置为 NETWORK_SERVICE,并且该人已经拥有对相关文件夹的完全访问权限。
我有一个运行“经典”ASP 代码(不是 ASP.NET)的 IIS 7.5 网站,该网站在正常服务上下文下运行,并且只启用了“Windows 身份验证”。无论是否在 IIS 主机上具有隐式管理员权限(大多数没有),用户和浏览站点都没有任何问题。但是,当我尝试在 ASP 代码中执行常见的 Win32_PingStatus 请求时,它会失败,除非用户在 IIS 主机上具有管理员权限。这是我的代码...
On Error Resume Next
asset = "Computer123"
pingtest = False
query = "Select StatusCode, Address FROM Win32_PingStatus " & _
"WHERE Address=" & Chr(34) & asset & Chr(34)
Set colPingStatus = GetObject("winmgmts:" &_
"{impersonationLevel=impersonate}//./root/cimv2").ExecQuery(query)
If err.Number <> 0 Then
Response.Write "Access Denied (error: " & err.Number & " / " & err.Description & ")"
Response.End
End If
For Each objItem In colPingStatus
If objItem.StatusCode = …Run Code Online (Sandbox Code Playgroud) 我试图了解连接字符串中的“最大池大小”设置与 IIS 服务器管理器中的限制设置之间的区别……它们是否指的是同一件事?如果不是,每个人做什么?
为了清楚起见,我附上了为连接字符串语句截取的代码和 IIS 管理器中“限制”设置的照片。
<connectionStrings>
<add name="TrackingConnectionString" connectionString="Data Source=localhost;Min Pool Size=0;Max Pool Size=100;Pooling=true;
Initial Catalog=Tracking;Integrated Security=True;" providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
附件是ISS管理器中“限制”设置的照片。

假设您在 IIS 上有一个公共 ASP.NET(或经典 ASP)应用程序,其脚本/页面需要在位于 Web 发布文件夹树内的特定文件夹中写入或更新文件。
1)设置它的正确方法是什么?
我主要关心的是我想让 ASP/ASP.NET 应用程序写入文件夹,但我不希望普通的 http 用户能够将文件放入其中。
旧服务器是 windows 2000,最初的安装人员对几乎所有内容的回答都是 C:\ --> 所有人 --> 完全控制。但是,有一个安装文档,它似乎在一定程度上起作用。
服务器对象错误 'ASP 0178:80070005' Server.CreateObject 访问错误 /Include/fnLookups.asp,第 10 行 检查权限时调用 Server.CreateObject 失败。拒绝访问此对象。
第 10 行似乎是:
set objClient = Server.CreateObject("fooUser.CfooUser")
我转到系统日志,我有:
特定于应用程序的权限设置不会向用户 mydomain\myusername SID (mySID) 授予具有 CLSID {280D5CF7-80A4-40AC-844C-FE3653F02FF1} 的 COM 服务器应用程序的本地激活权限。可以使用组件服务管理工具修改此安全权限。
这是某种进展,它正在接收 COM 应用程序和我的 ID。我将自己添加到 dcomdnfg 中我的电脑对象的“访问权限”和“启动和激活权限”中 - 但我的吠叫似乎指向错误的树。
我尽可能地浏览了mskb198432,虽然它似乎是针对早期版本的,但也没有任何乐趣。
欢迎任何想法。
编辑 - 尝试的建议列表
编辑 - 我可以在旧的 windows …
我目前在家里的网络服务器上运行 IIS,我使用 DNS2Go 提供静态域名。我的旧网站使用带有 VB 脚本的 ASP 和通过 ODBC 驱动程序的 Access 数据库,而我的新网站使用 APACHE、PHP 和 MySQL。我希望仍然能够在 PHP 页面旁边提供 ASP 页面,据我所知,只要我使用不同的端口号,我就可以在一台计算机上设置两台服务器。
我将如何处理的请求http://domain.myip.org/iis/与IIS服务器和这些请求http://domain.myip.org/apache/与appache服务器?我真的希望能够将请求路由到我喜欢的任何目录的正确服务器。