IIS 虚拟目录访问被拒绝的问题解决

IIS中建立的虚拟应用程序文件夹在应用中访问时被拒绝

企业微信截图_17785782536864

 

报错:对路径【\\xxx.xxx.xxx.xxx\123\123\】的访问被拒绝

  • 报错路径:\\xxx\xxx\ 是一个网络共享文件夹
  • 访问被拒绝的核心原因:IIS 进程身份没有权限访问这个共享路径,不是服务本身的问题。
  • 解决问题关键在于:IIS应用程序文件夹使用administrator权限,应用程序池,进程模型>标识 也要使用administrator用户权限

✅ 分步解决(按优先级)

第一步:先确认共享文件夹权限

  1. 在运行 IIS 的服务器上,直接打开文件资源管理器,访问:
    plaintext
    \\xxx\xxx\xxx\
  2. 如果也提示访问被拒绝,说明服务器本身就没有权限访问共享,需要:
    • 确认共享文件夹 gbes 开启了共享权限,允许 IIS 服务器的机器访问
    • 确认 NTFS 安全权限中,给 Everyone 或指定用户赋予了「读取 / 写入」权限

企业微信截图_17793562682157

 

第二步:修改 IIS 虚拟目录的凭据(最关键)

你截图里的 物理路径凭据登录类型ClearText,但没有配置正确的账号密码:
  1. 在 IIS 管理器中,右键 upload 虚拟目录 → 高级设置
  2. 点击 物理路径凭据 右侧的按钮(...)
  3. 选择 特定用户 → 点击「设置」
  4. 输入 \\xxx.xxx.xxx.xxx 上有权限访问共享的账号密码(例如:administrator 和对应的密码)
  5. 点击「测试设置」,确认 “授权” 和 “验证” 都显示绿色对勾

第三步:修改应用程序池身份

如果共享文件夹只允许特定域用户访问,需要让 IIS 应用池以该用户身份运行:
  1. 打开 IIS 管理器 → 应用程序池 → 找到 GBES.XiAn.FangJian.YC100.Web
  2. 右键 → 高级设置 → 进程模型 → 身份
  3. 选择「自定义账户」→ 输入有权限访问共享的账号密码
  4. 点击「确定」,然后回收应用程序池

第四步:检查防火墙与网络连接

  1. 在 IIS 服务器上,测试到共享服务器的连通性:
    cmd ping xxx.xxx.xxx.xxx
  2. 测试 SMB 端口是否开放(共享需要 445 端口):
    cmd telnet xxx.xxx.xxx.xxx 445
  3. 如果不通,需要在共享服务器上放行 445 端口,或关闭防火墙测试。

🚫 常见坑点

  1. 密码过期 / 账号锁定:共享服务器上的账号密码已过期,或被锁定
  2. 共享权限 vs NTFS 权限冲突:共享权限给了写入,但 NTFS 权限只给了只读
  3. IIS 匿名身份限制:默认的 IUSR 账号无法访问网络共享,必须配置显式凭据
posted @ 2026-05-12 17:37  无聊的蚂蚁  阅读(25)  评论(0)    收藏  举报