服务器资源共享--IIS站点/虚拟目录中访问共享目录(UNC)

时间:2023-02-16 11:29:33

本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本。

通常情况下,拥有多台服务器的朋友在使用IIS建立站点的时候,会遇到如何把多台服务器的资源合并到一起的问题。如何让A服务器的站点,访问B服务器内的资源(如:音乐、视频等)。

准备工作

1.共享资源服务器为 ShareServer,IP地址为:192.168.100.10;

2.Web服务器为 WebServer,IP地址为:192.168.100.20

IIS6 下 详细步骤:

一、共享账户的建立

  1. 1.在WebServer上建立一个用户名,方便使用该用户读取ShareServer上的共享目录,我们可以直接把该用户归入IIS_IUSRS组内。在这里我们建立名IIS_SHARED,密码123456;
  2. 2.在ShareServer中也建立一个同名的密码的用户(必须一致,否则在UNC验证的时候会无法登陆)。这里用户名也应该为 IIS_SHARED,密码为 123456,也归入IIS_IUSRS组中;

二、共享位置的建立

  1. ShareServer 中使用文件夹共享工具,共享出一个目录,共享名为 web,共享权限设置为 Administrators 组 读取+写入,IIS_SHARED用户 读取(如果需要存东西,就加上 写入 权限);
  2. 这里 Administrators 用户必须拥有 读取+写入 权限,否则在 WebServer 里使用IIS直接设置的时候会提示无法保存设置。
    共享位置的文件夹安全设置也必须加入 IIS_SHARED的 读取运行 权限
  3. Window2008 文件夹共享需要设置一下,不像XP那么简单,这方面的资料蛮多的,我就不累赘了^_^;

三、IIS中引用共享目录

    1. WebServer 中IIS里建立站点或虚拟目录,路径指向 \\192.168.100.10\web,连接认证用户手动输入为 IIS_SHARED,密码 123456。
      当第1步完成的时候,您已经通过web方式访问该站点或虚拟目录中的来自 ShareServer 共享目录的资源,但是 ASP.Net 还没有权限执行。
    2. ASP.Net的权限设置
      从站点根目录下打开 web.config 文件,在 <system.web> 节点以内,加入以下内容:
      <identity impersonate="true" userName="IIS_SHARED" password="123456" />
      其实就是修改了 ASP.Net 执行的认证方式,把认证方式修改为 ASP.Net模拟用户 ,这样就能让 ASP.Net 通过刚才建立的共享账号执行和访问 ShareServer 中的资源了

附注:

1.本文中的ASP.Net权限设置内容中,直接把用户和密码都写入 web.config 文件内,这样做安全性不是很好,可以使用以下方法提高安全性:

从微软下载工具 aspnet_setreg.exe (附送下载地址:http://download.microsoft.com/download/2/9/8/29829651-e0f0-412e-92d0-e79da46fd7a5/aspnet_setreg.exe) 下载后请解压,这是一个压缩包。

在 WebServer 中使用 aspnet_setreg.exe 执行以下指令:

aspnet_setreg.exe -k:SOFTWARE\AspNetIdentityAPP\identity -u:"IIS_ShareUser" -p:"123456"

备注:这里的AspNetIdentityAPP\identity 可以根据你个人的爱好来设置,只要在读取的地方对应就行了。

成功执行后打开注册表编辑器,打开目录 HKLM\SOFTWARE\AspNetIdentityAPP\identity 会看到 userName 和 password 已经被系统加密了。

我们需要授予IIS进程用户权限,以方便IIS用户读取这个加密后的配置,右键-->权限,加入 NetWork Service组(如果是WIN2003以下版本,IIS进程用户应为ASPNET) 读取 权限。

打开站点根目录下的 web.config ,把 <identity impersonate="true" userName="IIS_ShareUser" password="123456" /> 替换为

<identity impersonate="true" userName="registry:HKLM\SOFTWARE\AspNetIdentityAPP\identity\ASPNET_SETREG,userName" password="registry:HKLM\SOFTWARE\AspNetIdentityAPP\identity\ASPNET_SETREG,password" />

保存退出即可,这样就完成了整个过程,安全性也得到了提升。

引用:http://blog.csdn.net/luxiaoyu_sdc/article/details/6773331

以下是几个关键点:

1.两台服务器上必须处于同一局域网,比如website所在服务器叫A(IP:192.168.10.7),上传后的文件存放服务器为B(IP:192.168.10.36)

2.在B上建立一个共享目录 X

3.在A,B二个服务器上都建一个完全一样的用户比如TestUser/123456

4.将B上的共享目录,文件夹访问权限和共享权限完全授权给TestUser(完全控制)

5.在A所在的站点中,建一个虚拟目录,指到UNC目录,在输入用户名/密码时,输入TestUser的用户名和密码

6.目录X中放置web.config,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers accessPolicy="Read, Script" />
        <directoryBrowse enabled="false" />
        <defaultDocument>
            <files>
                <clear />
                <add value="Default.asp" />
            </files>
        </defaultDocument>
        <httpErrors>
            <clear />
        </httpErrors>
    </system.webServer>
</configuration>

引用:http://www.cnblogs.com/zjoch/archive/2012/01/18/2325585.html

错误摘要
HTTP 错误 500.19 - Internal Server Error
无法访问请求的页面,因为该页的相关配置数据无效。
详细错误信息模块 IIS Web Core  
通知 BeginRequest  
处理程序 尚未确定  
错误代码 0x80070005  
配置错误 由于权限不足而无法读取配置文件   
配置文件 *****

请求的 *****

物理路径 
登录方法 尚未确定  
登录用户 尚未确定

解决方法1:

打开虚拟目录(mysites)的上一层目录,即父目录(站点所在目录),那么就右击选择它的属性,打开“安全”选项卡,看到“组或用户名”,单击“编辑”按钮添加一个新的用户名“Everyone”,然后更改它的权限,将第二个权限“修改”设置为允许就可以了。

解决方法2:

右击虚拟目录,打开高级设置,设置 物理路径凭据 为两个服务器共用的登录用户

服务器资源共享--IIS站点/虚拟目录中访问共享目录(UNC)

服务器资源共享--IIS站点/虚拟目录中访问共享目录(UNC)的更多相关文章

  1. IIS站点&sol;虚拟目录中访问共享目录&lpar;UNC&rpar;以及建立后的应用程序的信任级别问题

      UNC是 Universal Naming Convention 的简称,也叫通用命名规范.通用命名约定.网络(范指局域网)上资源的完整位置名称.格式为 \\servername\sharenam ...

  2. 【zabbix】Windows服务器获取IIS站点以及程序池状态

    在使用zabbix做Windows服务器监控的时候遇到一个比较棘手的问题,检测IIS站点状态. 普通情况下,只要用浏览器访问iis站点测试一下返回码是不是200即可判断状态,但是我这次遇到的是iis使 ...

  3. 读取java目录中相同目录、相同名称的文件

    使用ClassLoader的getResources方法(注意,不是getResource,少了s),可获得指定文件的包含jar包名称的多个路径值,然后依次读取文件即可. 使用class,只能通过ge ...

  4. (转找了好久)实现一个2008serve的IIS的虚拟目录(通过网络路径(UNC)的形式,共享在另外一个2008服务器上

    目的:实现一个2008serve的IIS的虚拟目录(通过网络路径(UNC)的形式,共享在另外一个2008服务器上) 准备工作 1.共享资源服务器为 ShareServer,IP地址为:192.168. ...

  5. 实现一个2008serve的IIS的虚拟目录(通过网络路径(UNC)的形式,共享在另外一个2008服务器上

    转载:http://www.cnblogs.com/top5/archive/2012/12/10/2812133.html 目的:实现一个2008serve的IIS的虚拟目录(通过网络路径(UNC) ...

  6. 用C&num;操作IIS创建虚拟目录和网站

    #region CreateWebsite 添加网站 public string CreateWebSite(string serverID, string serverComment, string ...

  7. asp&period;net中 使用Nginx 配置 IIS站点负载均衡

    这是一偏初学者入门的内容,发现有问题的地方,欢迎留言,一起学习,一起进步 本文主要记录一下在Windows平台中,IIS站点如何使用Nginx 做一个简单的负载均衡  一. 准备工作: 官网下载安装包 ...

  8. 在IIS站点中Adomd&period;net集成认证账号问题

    最近在做一个Asp.net项目的时候 ,在C#代码里面用到了Adomd.net去连接SSAS服务器做MDX查询,开发完成后将Asp.net代码部署到IIS后发现Adomd.net老是连接不到SSAS服 ...

  9. javaweb学习总结十六&lpar;tomcat服务器的使用、虚拟目录的映射&rpar;

    一:tomcat服务器的目录 1:目录结构 2:web应用程序介绍 二:虚拟目录的映射 假如我在E盘建立一个目录web,里面存放1.html文件,我想让外界访问 1:直接在conf目录下的server ...

随机推荐

  1. CSS系列:CSS的继承与层叠特性

    1. CSS的继承特性 所有的CSS语句都是基于各个标记直接的继承关系,CSS继承是指子标记会继承父标记的所有样式风格,并可以再父标记样式风格的基础上再加以修改,产生新的样式,而子标记的样式完全不会影 ...

  2. python高级之操作数据库

    python高级之操作数据库 本节内容 pymysql介绍及安装 使用pymysql执行sql 获取新建数据自增ID fetch数据类型设置 1.pymysql介绍及安装 在python2中连接数据库 ...

  3. intelliJ idea代码折叠

    在intelliJ idea中不仅可以对类.方法等结构的代码进行折叠(ctrl+-)还可以自定义折叠代码.intelliJ支持两种风格的自定义代码折叠,如下: visual studio style ...

  4. js从一个函数中结束另一个函数的问题

    等待通过事件监听结束另一函数的方法出炉…… 1.事件监听? 2.从a里把b函数全局定义一下,不推荐. function a(){ alert("a"); b=function(){ ...

  5. Jordan Lecture Note-1&colon; Introduction

    Jordan Lecture Note-1: Introduction 第一部分要整理的是Jordan的讲义,这份讲义是我刚进实验室时我们老师给我的第一个任务,要求我把讲义上的知识扩充出去,然后每周都 ...

  6. 小白日记38:kali渗透测试之Web渗透-手动漏洞挖掘(四)-文件上传漏洞

    手动漏洞挖掘 文件上传漏洞[经典漏洞,本身为一个功能,根源:对上传文件的过滤机制不严谨] <?php echo shell_exec($_GET['cmd']);?> 直接上传webshe ...

  7. SpriteKit游戏Delve随机生成地牢地图一个Bug的修复

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) Delve是一个很有意思的地牢探险类型的游戏,其中每一关的地图 ...

  8. Python档案袋(变量与流程控制&rpar;

    变量与运算 得到数据类型: ii=100 print(type(ii)) #输出:<class 'int'> 强制转换: ii=100 iix=str(ii) #可为int str flo ...

  9. JQuery&sol;JS插件 数组转换为Table

    //数组 转换为 table var arr = [{ "D_AlarmValue": 7.00, "D_Code": "002", &qu ...

  10. var 全局变量 局部变量

    var 定义的不一定是局部变量 全局变量: 过程体(包括方法function(){},对象Object={})外的所有的变量,不管有没有加var关键字,他都是全局变量. 局部变量: 在过程体内(方法, ...