none
windows server 2003 IIS新建一网站 并建虚拟目录(另一台计算机共享) 权限管理 灰色 RRS feed

  • 问题

  • windows server 2003 IIS新建一网站 并建虚拟目录(另一台计算机共享) 权限管理 灰色,如下图。

    不能加组和用户,现该虚拟目录下网站内容不能正常访问,目录以上目前正常访问。


    hbgjh

    2013年1月17日 6:02

答案

  • 借网友一文解决问题,现分享大家。

    IIS站点/虚拟目录中访问共享目录(UNC)以及建立后的应用程序的信任级别问题

    UNC Universal Naming Convention 的简称,也叫通用命名规范、通用命名约定。
    网络(范指局域网)上资源的完整位置名称。
    格式为 \\servername\sharename ,其中 servername 是服务器名,sharename 是共享资源的名称。
    目录或文件的 UNC 名称可以包括共享名称下的目录路径,如:\\servername\sharename\directory\filename
    亦可作为 \\serverip\sharename 格式,其中 serverip 是服务器的IP地址,sharename 是共享资源的名称。
    同样也可以包括共享名称下的目录路径,如:\\serverip\sharename\directory\filename

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

    通常情况下,拥有多台服务器的朋友在使用IIS建立站点的时候,会遇到如何把多台服务器的资源合并到一起的问题。如何让A服务器的站点,访问B服务器内的资源(如:音乐、视频等)。
    当然,我们可以使用 http 协议来实现。在B服务器内建立一个资源站点,然后A服务器的站点直接通过http方式请求B服务器内的资源站点来获得资源,有时候这样做不是我们想要的效果。
    设想,能否将B服务器的资源共享到A服务器中来,作为A服务器站点中的一个虚拟目录呢?
    Linux
    中,我们可以使用 NFS 很方便的达到这个目的,同样,在IIS中也是同样可行的,请见下文中的详细描述。

    准备工作
    1.
    共享资源服务器为 ShareServerIP地址为:192.168.100.10
    2.Web
    服务器为 WebServerIP地址为: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="true" userName="IIS_ShareUser" password="123456" />
    其实就是修改了 ASP.Net 执行的认证方式,把认证方式修改为 ASP.Net模拟用户 ,这样就能让 ASP.Net 通过刚才建立的共享账号执行和访问 ShareServer 中的资源了。


    hbgjh

    2013年1月18日 15:52

全部回复

  • 虚拟目录下网站内容不能正常访问,出现如下提示。

    访问


    hbgjh

    2013年1月17日 7:21
  • 本服务器访问 另一台计算机共享 有点慢, 是不是与这个有关系?


    hbgjh

    2013年1月17日 7:55
  • 网站服务器(简称:A)和另一台计算机共享(简称:B,IP:10.4.0.2)已经创建test用户。

    请大家帮助。


    hbgjh

    2013年1月17日 9:28
  • 你好,

    请问你用的是IIS 6.0 吗? 如果是的话,你可以查看一下有关500更详细的状态编码, 来处理相对应的问题。 你可以通过下面的问题找到状态编码。

    http://blogs.iis.net/ma_khan/archive/2008/06/21/troubleshooting-iis-6-status-and-substatus-codes.aspx

    http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/64e30660-d2f0-4e90-98cc-1652214a2b93.mspx?mfr=true

    Thanks.


    Chen Yu
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年1月18日 5:26
    版主
  • 权限管理 灰色 属于正常,

    我在另一台计算机测试正常访问的建虚拟目录(另一台计算机共享)也是灰色。


    windows server 2003 IIS中一网站中建虚拟目录(物理路径指向:另一台计算机共享)经过升级和安全提升后,现该虚拟目录不能访问。
     网站服务器(A):192.168.1.8
    另一台计算机(B):10.4.0.2
    网站服务器(简称:A)和另一台计算机共享(简称:B,IP:10.4.0.2)已经创建test用户,原可以访问,经过系统打补丁和安全提升后,现该虚拟目录不能访问。



    • 已编辑 hbgjh 2013年1月18日 7:31
    2013年1月18日 7:30
  • 通过日志:显示错误 是 500 16 1326

    重新确认test用户名和密码。还是这样异常。


    hbgjh

    2013年1月18日 8:49
  • 借网友一文解决问题,现分享大家。

    IIS站点/虚拟目录中访问共享目录(UNC)以及建立后的应用程序的信任级别问题

    UNC Universal Naming Convention 的简称,也叫通用命名规范、通用命名约定。
    网络(范指局域网)上资源的完整位置名称。
    格式为 \\servername\sharename ,其中 servername 是服务器名,sharename 是共享资源的名称。
    目录或文件的 UNC 名称可以包括共享名称下的目录路径,如:\\servername\sharename\directory\filename
    亦可作为 \\serverip\sharename 格式,其中 serverip 是服务器的IP地址,sharename 是共享资源的名称。
    同样也可以包括共享名称下的目录路径,如:\\serverip\sharename\directory\filename

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

    通常情况下,拥有多台服务器的朋友在使用IIS建立站点的时候,会遇到如何把多台服务器的资源合并到一起的问题。如何让A服务器的站点,访问B服务器内的资源(如:音乐、视频等)。
    当然,我们可以使用 http 协议来实现。在B服务器内建立一个资源站点,然后A服务器的站点直接通过http方式请求B服务器内的资源站点来获得资源,有时候这样做不是我们想要的效果。
    设想,能否将B服务器的资源共享到A服务器中来,作为A服务器站点中的一个虚拟目录呢?
    Linux
    中,我们可以使用 NFS 很方便的达到这个目的,同样,在IIS中也是同样可行的,请见下文中的详细描述。

    准备工作
    1.
    共享资源服务器为 ShareServerIP地址为:192.168.100.10
    2.Web
    服务器为 WebServerIP地址为: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="true" userName="IIS_ShareUser" password="123456" />
    其实就是修改了 ASP.Net 执行的认证方式,把认证方式修改为 ASP.Net模拟用户 ,这样就能让 ASP.Net 通过刚才建立的共享账号执行和访问 ShareServer 中的资源了。


    hbgjh

    2013年1月18日 15:52