若 iis 配置存在偏差,部署于其上的 wcf 服务可能出现响应异常、无法访问或功能受限等问题。为保障服务持续稳定运行,务必遵循标准化、安全化的 iis 配置流程。
1、 启动 IIS 管理器,定位并选中“默认网站(Default Web Site)”以开展后续配置操作。

2、 右键点击该网站,选择“编辑绑定”或“属性”(依 IIS 版本略有差异),进入站点基础设置界面。此处可修改绑定的 IP 地址、端口号及连接超时策略。HTTP 默认端口为 80,属核心通信端点。若系统中已运行 Skype、Nginx 或其他监听 80 端口的应用程序,则可能引发端口抢占,导致 IIS 服务启动失败或响应中断。解决方式包括:在 IIS 中更换为其他可用端口(如 8080),或在 Skype 设置中禁用“使用端口 80 和 443 进行通话”选项,从而释放端口资源,确保承载环境畅通。
3、 切换至“主目录”或“物理路径”配置页,确认网站内容根路径指向 C:\inetpub\wwwroot(Windows Server 默认路径)。该路径需具备完整读取与执行权限,且应与后续部署的 WCF 应用程序目录保持逻辑一致。

4、 在“身份验证”功能视图中,启用“匿名身份验证”,并确保其处于“已启用”状态;同时建议禁用“Windows 身份验证”(除非服务明确依赖 Windows 集成认证)。此举可避免因认证链路阻塞导致 .svc 文件被拒绝处理。

5、 权限配置是关键环节。需为以下账户在网站物理目录(如 C:\inetpub\wwwroot)上显式授予“读取”与“执行”权限:
-
IUSR(IIS 匿名用户,替代旧版IUSR_<机器名>) -
IIS_IUSRS(IIS 工作进程组,涵盖IWAM_*类账户功能) - (临时调试阶段)可添加
Everyone并赋予“读取”权限,但上线前必须移除Everyone的完全控制权限,并严格限制敏感目录(如App_Code、bin)的写入能力,以防未授权代码上传或配置篡改,兼顾可用性与纵深防御。

6、 打开“控制面板 → 系统和安全 → Windows Defender 防火墙 → 高级设置”,进入入站规则管理界面。

7、 在“入站规则”列表中,启用预定义规则:“World Wide Web Services (HTTP Traffic-In)”与“World Wide Web Services (HTTPS Traffic-In)”。若规则未自动启用,可手动新建规则,放行 TCP 端口 80(HTTP)及/或 443(HTTPS),确保外部请求可穿透防火墙抵达 IIS。

8、 在网站根目录下创建一个基础测试页,文件名为 index.htm(注意非 Index.htm,Windows 文件系统不区分大小写但部分 IIS 模块对命名规范敏感),内容可为简单 HTML 标签,保存至 C:\inetpub\wwwroot\。

9、 浏览器访问 http://192.168.*.*(或 http://localhost),若成功加载 index.htm 页面,表明 IIS Web 服务层已就绪,可作为 WCF 服务的可靠宿主基础环境。后续即可部署 .svc 文件、配置 web.config 及应用程序池(需匹配对应 .NET Framework 版本),完成 WCF 全流程托管。

















