如何设置在IIS中只允许使用域名通过SSL加密访问

2024-11-12 16:36:54
推荐回答(3个)
回答(1):

IIS强制使用SSL加密访问只要方法有2个。

一、强制SSL访问:是指用户输入域名后自动跳转到HTTPS,操作步骤:网页链接

二、服务器存在IP或者域名,必须要求域名访问SSL,这种情况下需要IIS配置SSL证书绑定这个域名。可以参考IIS6文档:网页链接、IIS7文档:网页链接。

如果是IIS8以上服务器可以直接绑定:

回答(2):

问题1:未启用父路径
症状举例:
Server.MapPath() 错误 'ASP 0175 : 80004005'
不允许的 Path 字符
/0709/dqyllhsub/news/OpenDatabase.asp,行 4
在 MapPath 的 Path 参数中不允许字符 '..'。
原因分析:
许多Web页面里要用到诸如../格式的语句(即回到上一层的页面,也就是父路径),而IIS6.0出于安全考虑,这一选项默认是关闭的。
解决方法:
在IIS中 属性->主目录->配置->选项中。把”启用父路径“前面打上勾。确认刷新。

问题2:ASP的Web扩展配置不当(同样适用于ASP.NET、CGI)
症状举例:
HTTP 错误 404 - 文件或目录未找到。
原因分析:
在IIS6.0中新增了web程序扩展这一选项,你可以在其中对ASP、ASP.NET、CGI、IDC等程序进行允许或禁止,默认情况下ASP等程序是禁止的。
解决方法:
在IIS中的Web服务扩展中选中Active Server Pages,点击“允许”。

问题3:身份认证配置不当
症状举例:
HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝。
原因分析:IIS 支持以下几种 Web 身份验证方法:
匿名身份验证
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的属性->安全性->身份验证和访问控制下配置。

问题4:IP限制配置不当
症状举例:
HTTP 错误 403.6 - 禁止访问:客户端的 IP 地址被拒绝。
原因分析:
IIS提供了IP限制的机制,你可以通过配置来限制某㊣P不能访问站点,或者限制仅仅只有某些IP可以访问站点,而如果客户端在被你阻止的IP范围内,或者不在你允许的范围内,则会出现错误提示。
解决方法:
进入IIS的属性->安全性->IP地址和域名限制。如果要限制某些IP地址的访问,需要选择授权访问,点添加选择不允许的IP地址。反之则可以只允许某些IP地址的访问。

问题5:IUSR账号被禁用
症状举例:
HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。
原因分析:
由于用户匿名访问使用的账号是IUSR_机器名,因此如果此账号被禁用,将造成用户无法访问。
解决办法:
控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。

问题6:NTFS权限设置不当
症状举例:
HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
原因分析:
Web客户端的用户隶属于user组,因此,如果该文件的NTFS权限不足(例如没有读权限),则会导致页面无法访问。
解决办法:
进入该文件夹的安全选项卡,配置user的权限,至少要给读权限。关于NTFS权限设置这里不再馈述。

问题7:IWAM账号不同步
症状举例:
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+应用程序中的密码

问题8:MIME设置问题导致某些类型文件无法下载(以ISO为例)
症状举例:
HTTP 错误 404 - 文件或目录未找到。
原因分析:
IIS6.0取消了对某些MIME类型的支持,例如ISO,致使客户端下载出错。
解决方法:
在IIS中 属性->HTTP头->MIME类型->新建。在随后的对话框中,扩展名填入.ISO,MIME类型是application。

2006-4-26 13:22

回复

czhu

0位粉丝

2楼
WIN2003SERVER IIS6.0 错误代码解释
400 无法解析此请求。
401.1 未经授权:访问由于凭据无效被拒绝。
401.2 未经授权: 访问由于服务器配置倾向使用替代身份验证方法而被拒绝。
401.3 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
401.4 未经授权:Web 服务器上安装的筛选器授权失败。
401.5 未经授权:ISAPI/CGI 应用程序授权失败。
401.7 未经授权:由于 Web 服务器上的 URL 授权策略而拒绝访问。
403 禁止访问:访问被拒绝。
403.1 禁止访问:执行访问被拒绝。
403.2 禁止访问:读取访问被拒绝。
403.3 禁止访问:写入访问被拒绝。
403.4 禁止访问:需要使用 SSL 查看该资源。
403.5 禁止访问:需要使用 SSL 128 查看该资源。
403.6 禁止访问:客户端的 IP 地址被拒绝。
403.7 禁止访问:需要 SSL 客户端证书。
403.8 禁止访问:客户端的 DNS 名称被拒绝。
403.9 禁止访问:太多客户端试图连接到 Web 服务器。
403.10 禁止访问:Web 服务器配置为拒绝执行访问。
403.11 禁止访问:密码已更改。
403.12 禁止访问:服务器证书映射器拒绝了客户端证书访问。
403.13 禁止访问:客户端证书已在 Web 服务器上吊销。
403.14 禁止访问:在 Web 服务器上已拒绝目录列表。
403.15 禁止访问:Web 服务器已超过客户端访问许可证限制。
403.16 禁止访问:客户端证书格式错误或未被 Web 服务器信任。
403.17 禁止访问:客户端证书已经到期或者尚未生效。
403.18 禁止访问:无法在当前应用程序池中执行请求的 URL。
403.19 禁止访问:无法在该应用程序池中为客户端执行 CGI。
403.20 禁止访问:Passport 登录失败。
404 找不到文件或目录。
404.1 文件或目录未找到:网站无法在所请求的端口访问。
注意 404.1 错误只会出现在具有多个 IP 地址的计算机上。如果在特定 IP 地址/端口组合上收到客户端请求,而且没有将 IP 地址配置为在该特定的端口上侦听,则 IIS 返回 404.1 HTTP 错误。例如,如果一台计算机有两个 IP 地址,而只将其中一个 IP 地址配置为在端口 80 上侦听,则另一个 IP 地址从端口 80 收到的任何请求都将导致 IIS 返回 404.1 错误。只应在此服务级别设置该错误,因为只有当服务器上使用多个 IP 地址时才会将它返回给客户端。

404.2 文件或目录无法找到:锁定策略禁止该请求。
404.3 文件或目录无法找到:MIME 映射策略禁止该请求。
405 用于访问该页的 HTTP 动作未被许可。
406 客户端浏览器不接受所请求页面的 MIME 类型。
407 Web 服务器需要初始的代理验证。
410 文件已删除。
412 客户端设置的前提条件在 Web 服务器上评估时失败。
414 请求 URL 太大,因此在 Web 服务器上不接受该 URL。
500 服务器内部错误。
500.11 服务器错误:Web 服务器上的应用程序正在关闭。
500.12 服务器错误:Web 服务器上的应用程序正在重新启动。
500.13 服务器错误:Web 服务器太忙。
500.14 服务器错误:服务器上的无效应用程序配置。
500.15 服务器错误:不允许直接请求 GLOBAL.ASA。
500.16 服务器错误:UNC 授权凭据不正确。
500.17 服务器错误:URL 授权存储无法找到。
500.18 服务器错误:URL 授权存储无法打开。
500.19 服务器错误:该文件的数据在配置数据库中配置不正确。
500.20 服务器错误:URL 授权域无法找到。
500 100 内部服务器错误:ASP 错误。
501 标题值指定的配置没有执行。
502 Web 服务器作为网关或代理服务器时收到无效的响应。
WIN2003 SERVER IIS6.0 ASP 错误解析

事件 ID 描述
0100 内存不足。无法分配所需的内存。
0101 意外错误。函数返回 |。
0102 要求字符串输入。函数需要字符串输入。
0103 要求数字输入。函数需要数字输入。
0104 不允许操作。

2006-4-26 13:24

回复

czhu

0位粉丝

3楼
0105 索引超出范围。数组索引超出范围。

2005-8-14 18:32  

--------------------------------------------------------------------------------

2 WIN2003SERVER IIS6.0 错误代码解释
0106 类型不匹配。遇到未处理的数据类型。
0107 数据大小太大。请求中发送的数据大小超出允许的限制。
0108 创建对象失败。创建对象 '%s' 时出错。
0109 成员未找到。
0110 未知的名称。
0111 未知的界面。
0112 参数丢失。
0113 脚本超时。超过了脚本运行的最长时间。可以通过为 Server.scriptTimeout 属性指定一个新值或在 IIS 管理工具中修改值来更改此限制。
0114 对象不可用于自由线程。应用程序对象仅接受自由线程对象;而对象 '%s' 不可用于自由线程。
0115 意外错误。外部对象中发生一个可捕捉的错误 (%X)。脚本无法继续运行。
0116 脚本分隔符结束标记丢失。脚本块缺少脚本结束标记 (%>)。
0117 脚本结束标记丢失。脚本块缺少脚本结束标记 () 或标记结束符号 (>)。
0118 对象的结束标记丢失。对象块缺少对象结束标记 () 或标记结束符号 (>)。
0119 Classid 或 Progid 属性丢失。对象实例 '|' 在对象标记中需要有效的 Classid 或 Progid。
0120 Runat 属性无效。脚本标记或对象标记的 Runat 属性只能有 'Server' 值。
0121 对象标记中的范围无效。对象实例 '|' 的作用范围不能是 Application 或 Session。要创建有 Session 或 Application 作用范围的对象实例,请将在 Global.asa 文件中加入 Object 标记。
0122 对象标记中的范围无效。对象实例 '|' 必须有 Application 或 Session 作用范围。这将应用于所有在 Global.asa 文件内创建的对象。
0123 缺少 Id 属性。缺少 Object 标记所需的 Id 属性。
0124 Language 属性丢失。缺少 Object 标记所需的 Language 属性。
0125 属性结束标记丢失。'|' 属性的值没有结束分隔符。
0126 未找到 Include 文件。未找到 Include 文件 '|'。
0127 HTML 注释的结束标记丢失。HTML 注释或在服务器端的包含文件缺少结束标记 (-->)。
0128 File 或 Virtual 属性丢失。Include 文件名必须用 File 或 Virtual 属性指定。
0129 未知的脚本语言。服务器上找不到脚本语言 '|'。
0130 File 属性无效。File 属性 '|' 不能以斜杠或反斜杠开始。
0131 不允许的父路径。Include 文件 '|' 不能包含 '..' 来表示父目录。
0132 编译错误。无法处理 Active Server Page '|'。
0133 ClassID 属性无效。对象标记有一个无效的 ClassID '|'。
0134 ProgID 属性无效。对象有一个无效的 ProgID '|'。
0135 循环包含。文件 '|' 包含它本身(可能是非直接地包含)。请检查包含文件中的其他 Include 语句。
0136 对象实例名无效。对象实例 '|' 试图使用一个保留名称。这个名称被 Active Server Pages 的内部对象使用。
0137 全局脚本无效。脚本块必须是允许的 Global.asa 过程之一。Global.asa 文件中不允许在 内使用脚本指令。允许的过程名称是 Application_OnStart、Application_OnEnd、Session_OnStart 或 Session_OnEnd。
0138 脚本块嵌套。脚本块不可放在另一个脚本块内。
0139 嵌套对象。对象标记不能放在另一个对象标记内。
0140 页命令次序有误。@ 命令必须是 Active Server Page 中的第一个命令。
0141 页命令重复。@ 命令只可以在 Active Server Page 中使用一次。
0142 线程令牌错误。无法打开线程令牌。
0143 应用程序名无效。未找到有效的应用程序名称。
0144 初始化错误。初始化时页级别的对象列表失败。
0145 新应用程序失败。无法添加新的应用程序。
0146 新会话失败。无法添加新的会话。
0147 500 服务器错误。
0148 服务器太忙。
0149 正在重新启动应用程序。重启动应用程序期间无法处理请求。

2006-4-26 13:24

回复

czhu

0位粉丝

4楼
0150 应用程序目录错误。无法打开应用程序目录。
0151 更改通知错误。无法创建更改通知事件。
0152 安全错误。处理用户安全凭据时发生错误。
0153 线程错误。新线程请求已失败。

2005-8-14 18:32  

--------------------------------------------------------------------------------

3 WIN2003SERVER IIS6.0 错误代码解释
0154 HTTP 头写入错误。HTTP 头无法写入客户端浏览器。
0155 页内容写入错误。页内容无法写入客户端浏览器。
0156 头错误。HTTP 头已经写入到客户端浏览器。任何 HTTP 头必须在写入页内容之前修改。
0157 启用缓冲。缓冲启用后不能关闭。
0158 URL 丢失。URL 是必需的。
0159 缓冲已关闭。缓冲必须启用。
0160 日志记录错误。将条目写入日志失败。
0161 数据类型错误。将 Variant 转换为 String 变量失败。
0162 不能修改 Cookie。不能修改 Cookie 'ASPSessionID'。它是一个保留的 Cookie 名。
0163 逗号用法无效。日志条目内不可使用逗号。请选择另一个分隔符。
0164 TimeOut 值无效。指定的 TimeOut 值无效。
0165 SessionID 错误。无法创建 SessionID 字符串。
0166 对象未初始化。试图访问未初始化的对象。
0167 会话初始化错误。初始化 Session 对象时发生错误。
0168 禁止的对象使用。Session 对象中不能保存内部对象。
0169 缺少对象信息。Session 对象中不能保存信息不全的对象。需要对象的线程模型信息。
0170 删除会话错误。无法正确删除 Session。
0171 路径丢失。必须为 MapPath 方法指定 Path 参数。
0172 路径无效。MapPath 方法的路径必须是虚拟路径。使用了一个实际的路径。
0173 路径字符无效。MapPath 方法的 Path 参数中指定了一个无效字符。
0174 多个路径字符无效。MapPath 方法的 Path 参数中指定了无效的 '/' 或 '\\'。
0175 不允许的路径字符。MapPath 方法的 Path 参数中不允许使用 '..' 字符。
0176 未找到路径。MapPath 方法的 Path 参数与已知路径不符。
0177 Server.CreateObject 失败。%s
0178 Server.CreateObject 访问错误。检查权限时调用 Server.CreateObject 失败。对此对象的访问被拒绝。
0179 应用程序初始化错误。初始化 Application 对象时发生错误。
0180 禁止的对象使用。Application 对象中不能保存内部对象。
0181 线程模型无效。使用单元线程模型的对象不能存储在 Application 对象中。
0182 对象信息丢失。Application 对象中不能保存信息不全的对象。需要此对象的线程模型信息。
0183 空 Cookie 项。不能保存空项 Cookie。
0184 Cookie 名称丢失。必须为 Cookie 指定名称。
0185 默认属性丢失。未找到对象的默认属性。
0186 证书分析错误。
0187 对象添加冲突。无法将对象添加到应用程序。应用程序被另一个要求添加对象的请求锁定。
0188 禁止的对象使用。无法将用对象标记创建的对象添加到会话内部。
0189 禁止的对象使用。无法将用对象标记创建的对象添加到应用程序内部。
0190 意外错误。释放外部对象时发生可捕获错误。
0191 意外错误。外部对象的 OnStartPage 方法中发生可捕获错误。
0192 意外错误。外部对象的 OnEndPage 方法中发生可捕获错误。
0193 OnStartPage 失败。外部对象的 OnStartPage 方法中出错。
0194 OnEndPage 失败。外部对象的 OnEndPage 方法中出错。
0195 无效的服务器方法调用。Session_OnEnd 和 Application_OnEnd 期间不能调用 Server 对象的此方法。
0196 无法启动进程外组件。只能使用 InProc 服务器组件。若要使用 LocalServer 组件,必须设置 AspAllowOutOfProcComponents 配置数据库设置。请参阅帮助文件,了解重要注意事项。
0197 禁止的对象使用。不能将有单元模型行为的对象添加到应用程序内部对象。

回答(3):

在IIS中,您可以使用以下步骤只允许使用域名通过SSL加密访问:
启用SSL:首先,您需要启用SSL并配置SSL证书。在IIS中,打开“网站”列表,选择您要保护的网站,然后右键单击并选择“编辑绑定”。在绑定窗口中,添加HTTPS绑定,并选择SSL证书。保存更改并关闭窗口。
禁用HTTP:为了只允许使用HTTPS访问,您需要禁用HTTP访问。在IIS中,找到您要保护的网站,并选择“默认文档”功能。在右侧窗格中,选择“添加”,输入域名,并将其设置为默认文档。此时,仅当用户使用 HTTPS 访问您的网站时才能访问它。
重定向HTTP到HTTPS:您可以添加URL重定向规则,以便自动将HTTP请求重定向到相应的HTTPS URL。在IIS管理器中,找到您的网站并选择“URL 重写”。