Windows Server 2016 IIS托管网站无法在AlibabaCloud的远程文件共享上加载dll [英] Windows Server 2016 IIS hosted website failed to load dll on a remote file share on AlibabaCloud

查看:145
本文介绍了Windows Server 2016 IIS托管网站无法在AlibabaCloud的远程文件共享上加载dll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在IIS上遇到问题,困扰了我很多天.在网上搜索之后,我仍然找不到正确的答案,因此是时候在StackOverflow上发布以寻求帮助了.

I hit an issue on IIS and it bothers me for many days. After I searched all over the web, I still cannot find the right answer so it is time to post on StackOverflow to seek help.

我在阿里云上创建了Windows Server 2016 VM,并在阿里云上创建了SMB文件共享.然后我按照以下说明进行操作( https://github.com/AlibabaCloudDocs/nas/blob/master/intl.zh-CN/Best%20Practices/Use%20Windows%20IIS% 20and%20NAS%20to%20provide%20Web%20and%20FTP%20services.md )将我的网站放在文件共享上,并将其加载到IIS.问题是此设置在Windows Server 2012 R2或更低版本上有效,但是,它显示Windows Server 2016上的dll加载失败.错误如下所示:

I created a Windows Server 2016 VM on Alibaba Cloud and an SMB file share on Alibaba Cloud. Then I followed this instruction (https://github.com/AlibabaCloudDocs/nas/blob/master/intl.en-US/Best%20Practices/Use%20Windows%20IIS%20and%20NAS%20to%20provide%20Web%20and%20FTP%20services.md) to put my website on the file share and load it to IIS. The problem is this setting works on Windows Server 2012 R2 or lower versions, however, it shows dll load failure on Windows Server 2016. Error looks like this:

Dll加载失败:0x8007003a

我尝试了很多设置

<runtime> <loadFromRemoteSources enabled="true"/> </runtime>

<runtime> <loadFromRemoteSources enabled="true"/> </runtime>

并在线搜索,但这些技巧均无效.我还尝试过使用Process Monitor检查w3wp.exe的详细信息,并在2012年和2016年之间得到了这种区别:

and searched online but none of the tricks work. I have also tried to use Process Monitor to check the details of w3wp.exe and got this difference between 2012 and 2016:

Windows Server 2012的w3wp.exe提供CreateFile:成功

Windows Server 2016的w3wp.exe提供了CreateFile:无效的网络响应

2012年(左)和2016年(右)之间的比较: 左:2012年,成功;正确:2016年,无效的网络响应

Comparison between the stacks of 2012 (Left) and 2016 (Right): Left: 2012, Success; Right: 2016, Invalid Network Response

另一个有趣的事情是Windows Server 2016并没有为此dll打开请求发送任何SMB数据包.

Another interesting thing is Windows Server 2016 doesn't really send out any SMB packet for this dll open request.

我担心的是,这是Windows Server 2016内核的错误.

My concern is this is a bug of Windows Server 2016 Kernel.

在写完上述所有单词之后,问题很明确:没有人知道真正发生了什么,是否有解决方案在Windows Server 2016上为IIS加载远程dll?

After writing all the words above, the question is pretty clear: Does anyone know what really happened and is there a solution to load remote dll on Windows Server 2016 for IIS?

推荐答案

  • 检查IIS服务器中的root权限
  • 减少安全级别权限
  • 这篇关于Windows Server 2016 IIS托管网站无法在AlibabaCloud的远程文件共享上加载dll的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆