如何让 IIS 使用 AppPool Identity 连接到 SQL 服务器而不是 NT Authority\IUSR?
How to make IIS use AppPool Identity to connect to SQL Server instead of NT Authority\IUSR?
我已经设置了一个 Windows Server 2019 盒子,其中包含 IIS、PHP 8 和 SQL 驱动程序以及 SQL Server 2019 Express。我创建了一个测试 PHP 应用程序和相应的应用程序池,然后设置了一个测试数据库。尝试使用 sqlsrv_connect 连接时,出现以下错误:
Login failed for user 'NT AUTHORITY\IUSR'.
(SQL 错误中还有更多内容,但这只是原始错误数组输出,Stack Overflow 不喜欢它。)
现在,我相信我已正确配置所有内容以使用应用程序池标识而不是 NT AUTHORITY\IUSR。我从另一个较旧的(Server 2012)网络服务器复制了设置。我的设置截图:
Anonymous Authentication using App pool identity in IIS
App pool identity added on database in SQL Server
我是不是在某处遗漏了某个设置,或者 Server 2019 处理应用程序池标识的方式是否与 Server 2012 不同?我已经尝试按照这个优秀的 SO 页面上的说明进行操作:
IIS AppPool to SQL Server permissions (adding NT AUTHORITY\IUSR)
但是服务器好像不在乎我告诉它使用应用程序池。
更新编辑:解开谜团
抱歉,这是极端用户错误的情况。我把“test”目录放在wwwroot下,ala c:\inetpub\wwwroot\test。我以 www.domain.com/test 访问它,而我需要做的是将它设置为 运行 作为 test.domain.com。它位于 wwwroot 应用程序池(在本例中使用 IUSR)下 运行ning,因为这就是我访问它的方式。感谢所有帮助我解决此问题的人!
向大家致歉;这是极端用户错误的情况。
我把test
目录放在了wwwroot
下,即c:\inetpub\wwwroot\test
。我以 www.domain.com/test
访问它,而我需要做的是将它设置为 运行 作为 test.domain.com
。它在 wwwroot
应用程序池下 运行ning(在本例中,它使用 IUSR
),因为我就是这样访问它的。
感谢所有帮助我解决此问题的人!
我已经设置了一个 Windows Server 2019 盒子,其中包含 IIS、PHP 8 和 SQL 驱动程序以及 SQL Server 2019 Express。我创建了一个测试 PHP 应用程序和相应的应用程序池,然后设置了一个测试数据库。尝试使用 sqlsrv_connect 连接时,出现以下错误:
Login failed for user 'NT AUTHORITY\IUSR'.
(SQL 错误中还有更多内容,但这只是原始错误数组输出,Stack Overflow 不喜欢它。)
现在,我相信我已正确配置所有内容以使用应用程序池标识而不是 NT AUTHORITY\IUSR。我从另一个较旧的(Server 2012)网络服务器复制了设置。我的设置截图:
Anonymous Authentication using App pool identity in IIS
App pool identity added on database in SQL Server
我是不是在某处遗漏了某个设置,或者 Server 2019 处理应用程序池标识的方式是否与 Server 2012 不同?我已经尝试按照这个优秀的 SO 页面上的说明进行操作:
IIS AppPool to SQL Server permissions (adding NT AUTHORITY\IUSR)
但是服务器好像不在乎我告诉它使用应用程序池。
更新编辑:解开谜团
抱歉,这是极端用户错误的情况。我把“test”目录放在wwwroot下,ala c:\inetpub\wwwroot\test。我以 www.domain.com/test 访问它,而我需要做的是将它设置为 运行 作为 test.domain.com。它位于 wwwroot 应用程序池(在本例中使用 IUSR)下 运行ning,因为这就是我访问它的方式。感谢所有帮助我解决此问题的人!
向大家致歉;这是极端用户错误的情况。
我把test
目录放在了wwwroot
下,即c:\inetpub\wwwroot\test
。我以 www.domain.com/test
访问它,而我需要做的是将它设置为 运行 作为 test.domain.com
。它在 wwwroot
应用程序池下 运行ning(在本例中,它使用 IUSR
),因为我就是这样访问它的。
感谢所有帮助我解决此问题的人!