我在正确设置AppPoolIdentity的权限时遇到了一些困难。
失败请求日志中显示的错误是:
ModuleName="IIS Web Core", Notification="BEGIN_REQUEST", HttpStatus="500", HttpReason="Internal Server Error", HttpSubStatus="0", ErrorCode="The I/O operation has been aborted because of either a thread exit or an application request.
(0x800703e3)", ConfigExceptionInfo=""我认为这是一个权限问题,因为将AppPoolIdentity更改为应用程序池的LocalSystem可以使网站中的所有内容都正常工作。当ApplicationPoolIdentity设置为AppPoolIdentity时,上面显示的错误就是我所收到的。我已经使用以下语法命名了应用程序池标识:
IIS APPPOOL\<app_pool_name>我已证实:
是否需要授予我错过的其他目录的权限?还是我完全错过了其他的问题?
对于一些额外的背景,我使用Windows 2008 R2和IIS7.5。
提前感谢!
编辑:我已经完成了一些跟踪,这要归功于Peter给出的建议,并且发现我缺少了一些权限。我缺少的权限是:
在修改这些权限之后,我的应用程序将使用自定义应用程序错误登录到Windows事件日志。(基本上,自定义应用程序错误告诉我它无法建立到数据库的连接。)请记住,如果我以LocalSystem的身份运行,而不是IIS中的AppPoolIdentity用户,一切都可以工作。再次使用Process,我发现Oracle正在登录到一个sqlnet.log文件。在这个文件中,它显示:
Fatal NI connect error 12631, connecting to:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=[DB IP ADDRESS])(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=[SERVICE NAME])(CID=(PROGRAM=C:\Windows\SysWOW64\inetsrv\w3wp.exe)(HOST=[WEB APPLICATION SERVER NAME])(USER=[APP POOL IDENTITY USER]))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 11.2.0.1.0 - Production
Time: 21-JUL-2015 16:28:00
Tracing not turned on.
Tns error struct:
ns main err code: 12631
TNS-12631: Username retrieval failed
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0知道它为什么要使用AppPoolIdentity作为它试图连接的用户吗?
发布于 2015-07-22 16:48:07
我终于解决了这个问题。
在上面的编辑中,我添加了必要的权限,解决了第一个问题。
为了完成这项工作,我修改了我的SQLNET.ora文件,如下所示:
# sqlnet.ora Network Configuration File: E:\Oracle_client\product\11.2.0.1\client_x32\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
#SQLNET.AUTHENTICATION_SERVICES= (NONE, NTS)
SQLNET.AUTHENTICATION_SERVICES= (NONE)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)请注意,原始SQLNET.AUTHENTICATION_SERVICES现在仅设置为NONE。
(我相信这一改变不会立即生效,但几分钟后就生效了。重新启动机器可能会导致过度死亡,但已经足够了)。
我还把AppPoolIdentity换成了LocalService,然后又换回了AppPoolIdentity。在这样做之后,它起了作用,但我不认为来回切换AppPoolIdentity会对它的工作产生任何影响。
https://stackoverflow.com/questions/31526582
复制相似问题