IIS网站在networking外查看时要求提供凭据

我在IIS 6上configuration了一个网站。当我从公司networking内部访问网站时,它工作正常。

当我尝试从networking外部访问网站时,浏览器要求提供Windows凭据。

应用程序池被configuration为作为networking服务运行。 该网站configuration有:“启用匿名访问”。

我已经用密码指定了一个用户帐户。

当我运行Microsoft身份validation和访问控制诊断时,我收到以下消息:

“当前configuration需要IIS subauthentication。但是,IIS subauthentication组件iissuba.dll目前没有configuration。”

“当前的configuration使用IIS subauthentication进行匿名身份validation,这要求将worker进程configuration为以本地系统身份运行,出于安​​全原因,build议不要这样做。

事情是我不想使用subauthentication,因为我知道我使用的用户帐户的密码。

用户帐户是MACHINENAME \ IUSR_MACHINENAME。

我必须做些什么才能让networking以外的人访问网站而不需要获得凭据?

您可以在Web服务器上的“事件查看器安全”日志中查看哪个帐户正在进行IIS调用。 如果使用集成身份validation,您应该在安全日志中看到唯一的用户帐户。 如果使用匿名用户访问该站点,则会在日志中显示IUSR帐户。

我build议在内部访问网站(在哪里工作),并检查出安全日志。 如果您看到您的域/用户帐户提出请求,那么您知道匿名用户帐户存在问题。 如果使用其他身份validation方法(例如,集成)启用匿名访问,则始终首先尝试匿名访问。

我会考虑一些其他的事情。

– 您在网站或虚拟目录中定义了多种身份validation模式? 这位于IIS站点/虚拟目录上的“目录安全性”选项卡下。

– 是否在web.config中启用集成身份validation? ()

– IUSR帐户是IIS_WPG本地计算机组的成员?

– IUSR帐户是哪个组的成员? 如上所述,IUSR帐户将需要访问您的文件系统。

– 仔细检查你的网站确实在你认为是的应用程序池下运行。

– 仔细检查您的应用程序池确实在networking服务帐户下运行。

– input您的IUSR帐户详细信息。

希望这有助于戴夫

您需要确保主文件夹对您启用的networking服务和匿名帐户具有读取权限。 通常build议在1个用户身份下运行网站和应用程序池。