2011-05-23 55 views
0

我试图在我的IIS 7.5(Win 7 Pro机器)中通过UNC路径运行一个默认网站的代码一个底层应用这是我第一次尝试在基于UNC路径的IIS 7.5中设置站点/应用程序。该文件夹位于同一个域中的另一台服务器上。错误500.19 - 基于UNC的IIS 7.5站点 - 文件权限问题

我试过各种事情来试图解决这个问题。应用程序池在我的Win 7 Pro PC上运行ApplicationPoolIdentity下...我已经有了这个站点设置。

运行时错误尝试通过http://localhost/TheAppName运行在浏览器应用程序时,我得到的是:

Module: IIS Web Core 
Notification: Unknown 
Handler: Not Yet Determined 
Error Code: 0x800700005 
Config Error: Cannot read configuration file due to insufficient permissions 
Config File: \\?\UNC\theServerName\www\TheAppName 
Requested URL: http://localhost:80/TheAppName 
Physical Path: (nothing showing up here) 
Logon Method: Not yet determined 
Logon User: Not yet determined 

我把假名字服务器和应用程序名称的上方隐私这个职位。

因此,它无法读取在该站点的UNC路径中找到的web.config。

我试图在目标服务器上添加一个本地用户,然后将该用户的权限授予web.config,然后使用该用户RemoteServerName \ LocalUserICreated作为我机器上的应用程序池的标识,但它没有任何影响。

不知道该怎么做,以及如何去做。

回答

2

我假设UNC路径是到不同的服务器?

如果两个服务器都在同一个域中?如果是这样,那么IIS需要在有权读取文件的用户帐户下运行该网站。

如果不是,则需要在Web服务器和文件存储服务器上创建相同的用户帐户(相同的用户名,相同的密码),然后更改IIS以在此用户帐户下运行网站。

希望这有助于/工作。

+0

是的。是在同一个域上。我正在通过vpn连接。 – PositiveGuy 2011-05-23 07:13:35

+0

我在每篇我找到的文章中使用IIS 7.5中的ApplicationPoolIdentity设置为Anonymous,但它仍然无效:http://learn.iis.net/page.aspx/202/application-pool-identity-as -anonymous-user/ – PositiveGuy 2011-05-23 07:14:48

+0

此外,我假设我应该能够键入http:// localhost,并且因为网站和应用程序设置为指向我的代码的UNC路径,本地主机应该解析为该UNC路径以及只要我在我的网址中使用正确的应用程序名称,例如http:/ localhost/appNameICreatedInMyIIS75_inWin7Locally – PositiveGuy 2011-05-23 08:21:19

1

当您从UNC路径创建Web应用程序或虚拟目录时,您需要将凭据提供给IIS以进行连接。

在添加应用程序对话框中,物理路径部分下方是“连接为...”按钮 - 然后您可以选择“应用程序用户(传递身份验证)”或“特定用户”。

你选择哪一个,他们必须是将被远程服务器识别的凭证 - “Pass-through”会尝试使用当前的桌面(或浏览器)凭证来认证用户(如果你是根据您的意见通过VPN连接)几乎肯定无效。在这种情况下,您应该使用“特定用户”并提供(理想情况下)具有适当权限的域用户来运行该网站。

当我们过去需要这样做时,我们会在域上创建一个帐户,本地应用程序池将运行在该域下,然后也可以在这些情况下使用它。

如果您已经创建了该应用程序,则可以使用“基本设置...”操作链接来访问该对话框。

1

我花了几个小时才终于为自己解决了同样的问题。原来,我在我的物理路径中使用了错误的斜杠。它应该是\这些,而不是//这些。