设为首页 收藏本站
查看: 1058|回复: 0

[经验分享] 局域网的共享目录(UNC目录)里部署IIS站点

[复制链接]

尚未签到

发表于 2015-8-15 07:45:45 | 显示全部楼层 |阅读模式
  看了一篇转载的博文,发现其解决方案还有待几点补充。(使用操作系统Windows 7 Ultimate,IIS 7.5)
  下面是转载原文,已找不到原文链接。
  
     通常情况下,拥有多台服务器的朋友在使用IIS建立站点的时候,会遇到如何把多台服务器的资源合并到一起的问题。如何让A服务器的站点,访问B服务器内的资源(如:音乐、视频等)。
  当然,我们可以使用 http 协议来实现。在B服务器内建立一个资源站点,然后A服务器的站点直接通过http方式请求B服务器内的资源站点来获得资源,有时候这样做不是我们想要的效果。
  设想,能否将B服务器的资源共享到A服务器中来,作为A服务器站点中的一个虚拟目录呢?
  Linux中,我们可以使用 NFS 很方便的达到这个目的,同样,在IIS中也是同样可行的,请见下文中的详细描述。
  准备工作
  1.共享资源服务器为 ShareServer,IP地址为:192.168.100.10;
  2.Web服务器为 WebServer,IP地址为:192.168.100.20
  详细步骤:
  一、共享账户的建立
  1.在 WebServer 上建立一个用户名,方便使用该用户读取 ShareServer 上的共享目录,为了web文件能正常运行,同时又避免使用户拥有过高的权限,我们可以直接把该用户归入 Guests(win2003中) 组,或者 IIS_IUSRS(win2008中) 组内,这样就一举多得了。我这里建立的用户名为 IIS_ShareUser ,密码为 123456;
  2.在 ShareServer 中也建立一个同名同密码的用户(必须一致,否则在UNC验证的时候会无法登陆)。这里用户名也应该为 IIS_ShareUser ,密码为 123456,也归入Guests组中;
  二、共享位置的建立
  1.ShareServer 中使用文件夹共享工具,共享出一个目录,共享名为 public ,共享权限设置为 Administrators 组 读取+写入,IIS_ShareUser 用户 读取(如果需要存东西,就加上 写入 权限);
  这里 Administrators 用户必须拥有 读取+写入 权限,否则在 WebServer 里使用IIS直接设置的时候会提示无法保存设置。
  共享位置的文件夹安全设置也必须加入 IIS_ShareUser 的 读取运行 权限,另外还需要加入IIS进程用户的 读取运行 权限,这里不再描述运行IIS站点所需要的 文件夹安全 权限设置。
  三、IIS中引用共享目录
  1.WebServer 中IIS里建立站点或虚拟目录,路径指向 \\192.168.100.10\public ,连接认证用户手动输入为 IIS_ShareUser ,密码 123456。
  当第1步完成的时候,您已经通过web方式访问该站点或虚拟目录中的来自 ShareServer 共享目录的资源,但是 ASP.Net 还没有权限执行。
  2.ASP.Net的权限设置
  从站点根目录下打开 web.config 文件,在 <system.web> 节点以内,加入以下内容:
  <identity impersonate=&quot;true&quot; userName=&quot;IIS_ShareUser&quot; password=&quot;123456&quot; />
  其实就是修改了 ASP.Net 执行的认证方式,把认证方式修改为 ASP.Net模拟用户 ,这样就能让 ASP.Net 通过刚才建立的共享账号执行和访问 ShareServer 中的资源了。
  但是! 这还只是可以访问资源文件,对于aspx这样的需要执行的文件来说,还会出现应用程序的信任级别问题,说信任已失效之类的错误.
  MS的网站上给出来解决方法,
  http://support.microsoft.com/default.aspx?id=320268
  可能对于其他人来说可以执行成功, 因为在网上也看到很多人发了日志出来. 但对于我来说, 怎么也成功不了.
  后来找了很多资料, 发现原来还差一个参数.
  c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -m -ag 1 -url &quot;file:////\\ computername \ sharename \ *&quot;FullTrust -exclusive on 以上是MS站上给出的命令, 以下是我的(注意红色的参数): c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -q -m -ag 1 -url &quot;file:////\\ computername \ sharename \ *&quot;FullTrust -exclusive on
  注意内容:要想获得虚拟目录的指向路径在ASP.NET中要使用Server.MapPath()方法.
    
  下面是补充:
  按照上面方法还是没法运行,报无权限的错误。
  1、对应的应用程序池标识,也要使用相同的用户,解决方案:http://support.microsoft.com/kb/934515/en-us
  2、身份验证,要启用匿名身份验证、Windows身份验证、ASP.NET模拟
  3、此时运行会出现最小权限问题 解决方案:http://support.microsoft.com/kb/320268/en-us
  求解:
    又遇到一个问题,假设外网通过WebClient向A服务器上传文件,保存到共享的B机器上,但报403错误,怎么解决呢?
  WebClient 用的openWrite 方法,Url:http://A域名/share/  username:IIS_ShareUser password:123456 (与ASP.NET 模拟身份相同,WebDAV 已开启,并赋予此用户所有权限)
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-99115-1-1.html 上篇帖子: 关于ASP.NET在IIS一些问题的经验总结 下篇帖子: IIS FAQ
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表