通过安装和配置AD域解决Windows Server 2016的IIS无法加载SMB文件卷文件的问题

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 通过客户反馈我们发现Windows Server 2016的IIS无法加载SMB文件卷的文件,显示的错误是:未能加载文件或程序集。经过我们不断研究和实验,发现在安装和配置好AD域之后,2016上IIS加载文件卷文件发生错误的问题可以得到解决。

通过安装和配置AD域解决Windows Server 2016的IIS无法加载SMB文件卷文件的问题

1. 问题描述

通过客户反馈我们发现Windows Server 2016的IIS无法加载SMB文件卷的文件,显示的错误是:

未能加载文件或程序集“Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。指定的服务器无法运行请求的操作。 (异常来自 HRESULT:0x8007003A)

表现形式类似于下面这个截图:

图1:指定的服务器无法运行请求的操作 (异常来自 HRESULT:0x8007003A)
图1:指定的服务器无法运行请求的操作 (异常来自 HRESULT:0x8007003A)

经过实验我们发现该问题是Windows Server 2016独有的问题,在Windows Server 2012以及2008R2上都没有出现DLL加载错误。这个问题也与阿里云SMB服务无关,用Windows Server 2016挂载另一台机器的文件卷也同样出现加载问题。

经过我们不断研究和实验,发现在安装和配置好AD域之后,2016上IIS加载文件卷文件发生错误的问题可以得到解决。接下来我们就详细介绍一下如何在Windows Server 2016上安装和配置Active Directory服务。

2. 在Windows Server 2016上安装和配置Active Directory服务

2.1. 安装Active Directory域服务和DNS服务器

进入服务器管理器,选择 管理->添加角色和功能->基于角色或基于功能的安装->从服务器池中选择服务器->勾选 Active Directory 域服务 和 DNS 服务器->按几次下一步直到确认安装。

图2.1.1:选择 添加角色和功能图2.1.1:选择 添加角色和功能


图2.1.2:选择 基于角色或基于功能的安装图2.1.2:选择 基于角色或基于功能的安装


图2.1.3:选择 从服务器池中选择服务器图2.1.3:选择 从服务器池中选择服务器


图2.1.4:选择 Active Directory 域服务 和 DNS 服务器图2.1.4:选择 Active Directory 域服务 和 DNS 服务器


图2.1.5:确认安装图2.1.5:确认安装

2.2. 配置Active Directory域服务

下面给出最简单的Active Directory域服务的配置方式。在本机生成域并且将本机加入域。域内只有一台机器。

  1. 在 服务器管理器 的左边栏点击 AD DS,在右上角点击 更多;
  2. 在 所有服务器 任务详细信息 中点击 将此服务器提升为域控制器;
  3. 在 Active Directory 域服务配置向导 的选择部署操作时选择 添加新林 ,并且指定根域名(比如iis-test-2016.com);
  4. 给 目录服务还原模式(DSRM) 键入密码,点击下一步;
  5. DNS选项 点击下一步;
  6. 其他选项 点击下一步;
  7. 路径 点击下一步;
  8. 查看选项 点击下一步;
  9. 先决条件检查 点击安装;
  10. 安装完成会提示需要重启;
  11. 重新登陆时会提示 请等候Group Policy Client;
  12. 安装完成之后进入到 控制面板->所有控制面板项->系统,即可看到 域 已经设置成了 iis-test-2016.com;
  13. 再次打开出现加载问题的网站,问题解决。

    图2.2.1:在服务器管理器的左边栏点击AD DS,在右上角点击更多图2.2.1:在服务器管理器的左边栏点击AD DS,在右上角点击更多

图2.2.2:在 所有服务器 任务详细信息 中点击 将此服务器提升为域控制器图2.2.2:在 所有服务器 任务详细信息 中点击 将此服务器提升为域控制器


图2.2.3:在 Active Directory 域服务配置向导 的选择部署操作时选择 添加新林 ,并且指定根域名(比如iis-test-2016.com)图2.2.3:在 Active Directory 域服务配置向导 的选择部署操作时选择 添加新林 ,并且指定根域名(比如iis-test-2016.com)


图2.2.4:给 目录服务还原模式(DSRM)键入密码,点击下一步图2.2.4:给 目录服务还原模式(DSRM)键入密码,点击下一步


图2.2.5:DNS选项 点击下一步图2.2.5:DNS选项 点击下一步


图2.2.6:其他选项 点击下一步图2.2.6:其他选项 点击下一步


图2.2.7:路径 点击下一步图2.2.7:路径 点击下一步


图2.2.8:查看选项 点击下一步图2.2.8:查看选项 点击下一步


图2.2.9:先决条件检查 点击安装图2.2.9:先决条件检查 点击安装


图2.2.10:安装完成会提示需要重启图2.2.10:安装完成会提示需要重启


图2.2.11:重新登陆时会提示 请等候Group Policy Client图2.2.11:重新登陆时会提示 请等候Group Policy Client


图2.2.12:在 控制面板->所有控制面板项->系统,即可看到 域 已经设置成了 iis-test-2016.com图2.2.12:在 控制面板->所有控制面板项->系统,即可看到 域 已经设置成了 iis-test-2016.com

2.3. 其他问题

如果用户已经有了DNS域名,注意这个Windows Server 2016使用的DNS作为内部使用的DNS,不要与用户外部用的DNS重名,否则会引发DNS解析错误导致用户外部服务不可用。

如果在操作过程中发生了其他的IIS错误,请参考《IIS服务在阿里云NAS上的最佳实践》。

3. 附录

3.1. Windows IIS服务挂载NAS共享文件存储

https://help.aliyun.com/document_detail/54986.html

3.2. IIS服务在阿里云NAS上的最佳实践

https://yq.aliyun.com/articles/692462

3.3. Windows Server 2016加载dll错误

https://stackoverflow.com/questions/54245000/windows-server-2016-iis-hosted-website-failed-to-load-dll-on-a-remote-file-share

目录
相关文章
|
5月前
|
人工智能 JavaScript 开发工具
极速上手!Claude Code 原生支持 Windows 免WSL安装教程
Claude Code 现已支持 Windows 原生运行,无需 WSL 配置。本文提供详细安装教程,涵盖 Node.js 环境验证、Git 安装及 Claude Code 配置步骤,助你快速上手这一强大 AI 编程工具。
4078 5
|
5月前
|
存储 虚拟化 Windows
VMware安装Windows10
本案例介绍了在Windows系统上使用VMware Workstation 17.5 Pro安装配置Windows 10虚拟机的详细步骤,包括所需设备、软件下载链接、虚拟机设置及系统安装全过程。
2505 133
VMware安装Windows10
|
4月前
|
安全 Ubuntu iOS开发
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
231 3
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
|
5月前
|
安全 数据安全/隐私保护 Windows
ZyperWin++使用教程!让Windows更丝滑!c盘飘红一键搞定!ZyperWin++解决系统优化、Office安装和系统激活
ZyperWin++是一款仅5MB的开源免费Windows优化工具,支持快速优化、自定义设置与垃圾清理,兼具系统加速、隐私保护、Office安装等功能,轻便无广告,小白也能轻松上手,是提升电脑性能的全能管家。
1753 0
|
7月前
|
网络安全 Windows
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
|
网络协议
windows_server2012搭建iis并配置http重定向 iis转发
windows_server2012搭建iis并配置http重定向 iis转发
860 1
【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)
【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)
298 2
|
开发框架 .NET 中间件
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
255 0
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
|
Windows
iis配置http重定向302转发get请求并去掉最后的斜杠/ iis重定向 iis去除url最后的斜杠 iis重定向链接斜杠(已解决)
iis配置http重定向302转发get请求并去掉最后的斜杠/ iis重定向 iis去除url最后的斜杠 iis重定向链接斜杠(已解决)
1049 0
|
JavaScript Windows
VUE部署到IIS中报404错误解决方案-配置URL重写
VUE部署到IIS中报404错误解决方案-配置URL重写
1009 0